您好,登錄后才能下訂單哦!
這篇文章主要介紹“docker怎么部署Web項目”,在日常操作中,相信很多人在docker怎么部署Web項目問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker怎么部署Web項目”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
首先介紹docker中三個基本概念:
倉庫:Docker倉庫(Repository)類似與代碼倉庫,是Docker集中存放鏡像文件的場所。
鏡像:Docker鏡像(Image)類似于虛擬機的鏡像,可以將他理解為一個面向Docker引擎的只讀模板,包含了文件系統。
容器:Docker容器(Container)類似于一個輕量級的沙箱子(因為Docker是基于Linux內核的虛擬技術,所以消耗資源十分少),Docker利用容器來運行和隔離應用。
以上名詞解釋均來自網絡,理解這三個概念至關重要。
<hr font-size:15px;white-space:normal;background-color:#ffffff;"="">
首先pull,tomcat、mysql鏡像到本地
docker pull hub.c.163.com/library/tomcat:latest
docker pull hub.c.163.com/library/mysql:latest
利用docker創建網絡
docker run 創建 Docker 容器時,可以用 –net選項指定容器的網絡模式,Docker 有以下 4 種網絡模式:
后來提供了docker network create直接創建網絡(老版本不支持),不需要再用其他工具來為容器分配網絡。下面就用docker創建網絡方式來為容器指定ip,方便容器間通信。
docker network create --subnet 192.168.31.0/24 --gateway 192.168.31.1 network0
通過sudo docker network ls發現網絡network0已經被創建,在宿主機上用ifconfig也可以查看到,名稱可能不同。
host 模式
container 模式
none 模式
bridge 模式
創建容器并指定IP
創建mysql容器,并且命名、映射宿主機端口、指定IP、設置root密碼、創建數據庫、以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 同樣創建tocat容器: sudo docker run -d -p 8088:8080 --name tomcat --net network0 --ip 192.168.31.11 hub.c.163.com/library/tomcat
上面創建的容器mysql、tomcat處于同一網段下,可以通信。以上創建容器時參數設置,請參考鏡像文檔。 映射宿主機端口號,外界訪問時,指向容器中的服務,而且通過工具可以連接容器中的數據庫,進行操作。
通過Dockerfile生成鏡像
以上只是創建好了容器,但是tomcat中并沒有部署項目,利用Dockerfile可以幫助生成新的鏡像。思路大概是:
把web的war包或者webapp下的文件放入tomcat下webapp/下
重新生成鏡像
生成容器
啟動服務
新建Dockerfile文件:
from hub.c.163.com/library/tomcat
MAINTAINER diy_os diy_os@163.com
COPY web.war /usr/local/tomcat/webapps
把war包放在同一目錄下,執行sudo docker build -t ImageName:version .即可。
到此,關于“docker怎么部署Web項目”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。