Docker搭建tomcat運行環境(修改鏡像方式)


  對於java程序員來說,要想使用Docker來部署你的應用,那么在鏡像中安裝類似於tomcat的容器基本上是必須的(sprintboot項目除外),本篇介紹自己基於對centos鏡像的修改,創建自己的想要的tomcat運行環境鏡像的過程。

  1、拉取centos鏡像 docker pull centos

  2、在宿主機(即你的linux機)穿件/opt/software目錄,把要用到的安裝包放在里面

  

  3、啟動centos容器    docker run -i -t -v /opt/software/:/mnt/software/ --privileged=true 5182e96772bf /bin/bash,

  • -i:表示以“交互模式”運行容器

  • -t:表示容器啟動后會進入其命令行

  • -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>

  • --privileged=true 不加在容器內部可能會提示操作權限問題
  • 5182e96772bf是centos鏡像的id

  本例中,所有安裝程序都放在了宿主機的/opt/software/目錄下,現在需要將其掛載到容器的/mnt/software/目錄下。初始命令表示一旦容器啟動,需要運行的命令,此時使用“/bin/bash”,表示啟動后直接進入bash shell。

  4、安裝軟件

  cd /mnt/software,可以看到我們提前放置好的安裝包

  jdk安裝:tar -zxf /mnt/software/jdk-8u152-linux-x64.tar.gz -C /opt

  tomcat安裝:tar -zxf /mnt/software/apache-tomcat-8.0.53.tar.gz -C /opt

  5、編寫運行腳本

  touch /root/run.sh

  vi /root/run.sh

  編輯如下內容到腳本中

#!/bin/bash
  
export JAVA_HOME=/opt/jdk1.8.0_152/
export PATH=$JAVA_HOME/bin:$PATH
  
sh /opt/apache-tomcat-8.0.53/bin/catalina.sh run

  為運行腳本添加執行權限: chmod u+x /root/run.sh

  6、退出容器,創建新鏡像 

  以上步驟完成后,輸入exit退出容器,docker ps -a,可以看到剛剛修改好的容器,記住容器id

  使用以下命令,根據某個“容器 ID”來創建一個新的鏡像 docker commit containerID mytomcat:1.0

  創建完成后輸入 docker images,可以看到我們修改后的鏡像

  7、根據我們創建的tomcat鏡像,啟動對應的容器

  docker run -d -p 9999:8080 -v /opt/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

  • -d:表示以“守護模式”執行/root/run.sh腳本,此時 Tomcat 控制台不會出現在輸出終端上。

  • -p:表示宿主機與容器的端口映射,此時將容器內部的 8080 端口映射為宿主機的 9999 端口,這樣就向外界暴露了 9999 端口,可通過 Docker 網橋來訪問容器內部的 8080 端口了。

  • -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>,我們的web項目的jar可以放在/opt/webapps/下,重啟容器,我們的應用就啟動起來了

  • --name:表示容器名稱,用一個有意義的名稱命名即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM