這篇文章主要介紹“docker怎么部署Web項目”,在日常操作中,相信很多人在docker怎么部署Web項目問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker怎么部署Web項目”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)建站不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站建設(shè)、網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式網(wǎng)絡(luò)營銷推廣需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價值!首先介紹docker中三個基本概念:
倉庫:Docker倉庫(Repository)類似與代碼倉庫,是Docker集中存放鏡像文件的場所。
鏡像:Docker鏡像(Image)類似于虛擬機(jī)的鏡像,可以將他理解為一個面向Docker引擎的只讀模板,包含了文件系統(tǒng)。
容器:Docker容器(Container)類似于一個輕量級的沙箱子(因為Docker是基于Linux內(nèi)核的虛擬技術(shù),所以消耗資源十分少),Docker利用容器來運行和隔離應(yīng)用。
以上名詞解釋均來自網(wǎng)絡(luò),理解這三個概念至關(guān)重要。
首先pull,tomcat、mysql鏡像到本地
docker pull hub.c.163.com/library/tomcat:latest
docker pull hub.c.163.com/library/mysql:latest
利用docker創(chuàng)建網(wǎng)絡(luò)
docker run 創(chuàng)建 Docker 容器時,可以用 –net選項指定容器的網(wǎng)絡(luò)模式,Docker 有以下 4 種網(wǎng)絡(luò)模式:
后來提供了docker network create直接創(chuàng)建網(wǎng)絡(luò)(老版本不支持),不需要再用其他工具來為容器分配網(wǎng)絡(luò)。下面就用docker創(chuàng)建網(wǎng)絡(luò)方式來為容器指定ip,方便容器間通信。
docker network create --subnet 192.168.31.0/24 --gateway 192.168.31.1 network0
通過sudo docker network ls發(fā)現(xiàn)網(wǎng)絡(luò)network0已經(jīng)被創(chuàng)建,在宿主機(jī)上用ifconfig也可以查看到,名稱可能不同。
host 模式
container 模式
none 模式
bridge 模式
創(chuàng)建容器并指定IP
創(chuàng)建mysql容器,并且命名、映射宿主機(jī)端口、指定IP、設(shè)置root密碼、創(chuàng)建數(shù)據(jù)庫、以bash方式交互運行: sudo docker run -d -p 3366:3306 --name mysql --net network0 --ip 192.168.31.10 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=yunweather hub.c.163.com/library/mysql 同樣創(chuàng)建tocat容器: sudo docker run -d -p 8088:8080 --name tomcat --net network0 --ip 192.168.31.11 hub.c.163.com/library/tomcat
上面創(chuàng)建的容器mysql、tomcat處于同一網(wǎng)段下,可以通信。以上創(chuàng)建容器時參數(shù)設(shè)置,請參考鏡像文檔。 映射宿主機(jī)端口號,外界訪問時,指向容器中的服務(wù),而且通過工具可以連接容器中的數(shù)據(jù)庫,進(jìn)行操作。
通過Dockerfile生成鏡像
以上只是創(chuàng)建好了容器,但是tomcat中并沒有部署項目,利用Dockerfile可以幫助生成新的鏡像。思路大概是:
把web的war包或者webapp下的文件放入tomcat下webapp/下
重新生成鏡像
生成容器
啟動服務(wù)
新建Dockerfile文件:
from hub.c.163.com/library/tomcat
MAINTAINER diy_os diy_os@163.com
COPY web.war /usr/local/tomcat/webapps
把war包放在同一目錄下,執(zhí)行sudo docker build -t ImageName:version .即可。
到此,關(guān)于“docker怎么部署Web項目”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章名稱:docker怎么部署Web項目-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/djhooh.html