溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker怎么部署Web項目

發(fā)布時間:2021-12-14 13:37:02 來源:億速云 閱讀:407 作者:iii 欄目:服務器

這篇文章主要介紹“docker怎么部署Web項目”,在日常操作中,相信很多人在docker怎么部署Web項目問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker怎么部署Web項目”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

首先介紹docker中三個基本概念:

倉庫:Docker倉庫(Repository)類似與代碼倉庫,是Docker集中存放鏡像文件的場所。 
鏡像:Docker鏡像(Image)類似于虛擬機的鏡像,可以將他理解為一個面向Docker引擎的只讀模板,包含了文件系統(tǒng)。 
容器:Docker容器(Container)類似于一個輕量級的沙箱子(因為Docker是基于Linux內(nèi)核的虛擬技術(shù),所以消耗資源十分少),Docker利用容器來運行和隔離應用。

以上名詞解釋均來自網(wǎng)絡(luò),理解這三個概念至關(guān)重要。

<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創(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)建,在宿主機上用ifconfig也可以查看到,名稱可能不同。


    • host 模式

    • container 模式

    • none 模式

    • bridge 模式

  • 創(chuàng)建容器并指定IP

    創(chuàng)建mysql容器,并且命名、映射宿主機端口、指定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è)置,請參考鏡像文檔。
    映射宿主機端口號,外界訪問時,指向容器中的服務,而且通過工具可以連接容器中的數(shù)據(jù)庫,進行操作。


  • 通過Dockerfile生成鏡像 
    以上只是創(chuàng)建好了容器,但是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包放在同一目錄下,執(zhí)行sudo docker build -t ImageName:version .即可。

到此,關(guān)于“docker怎么部署Web項目”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI