第一步:
docker search tomcat #查找鏡像
docker pull tomcat # 拉取鏡像,默認最新
第二步:
docker run -d -p 8080:8080 --name tomcat tomcat:latest #啟動一個鏡像,如果是服務器記得開發8080端口,如果是虛擬機也要開放端口 mkdir -p /shw/tomcat # 在宿主機上創建目錄用來掛載 docker cp tomcat:/usr/local/tomcat/conf /shw/tomcat/conf # 拷貝tomcat中的配置文件到宿主機中 docker cp tomcat:/usr/local/tomcat/logs /shw/tomcat/logs # 拷貝tomcat中的日志文件到宿主機中 docker stop tomcat # 停止tomcat容器 docker rm tomcat # 刪除tomcat容器
第三步:
# 創建並運行tomcat容器,執行命令的時候一行輸出 docker run -d -p 8080:8080 --name mytomcat -v /shw/tomcat/webapps:/usr/local/tomcat/webapps -v /shw/tomcat/conf:/usr/local/tomcat/conf -v /shw/tomcat/logs:/usr/local/tomcat/logs --restart=always tomcat:latest
命令說明: docker run -d -p 8080:8080 # 映射端口 --name mytomcat # 起名字 -v /shw/tomcat/webapps:/usr/local/tomcat/webapps #掛載tomcat的webapps目錄,這個是重點,部署的時候把war包丟進去即可 -v /shw/tomcat/conf:/usr/local/tomcat/conf # 掛載tomcat的配置文件目錄 -v /shw/tomcat/logs:/usr/local/tomcat/logs # 掛載tomcat 的日志目錄 --restart=always #當 Docker 重啟時,容器能自動啟動 tomcat:latest(鏡像Id也可)
注意:有的tomcat運行的時候初始頁面為404可以參照 https://blog.csdn.net/weixin_44218159/article/details/104014126 解決。
如果還是不行的話就不用管他,把容器刪了重新啟動一個,按照以上步驟即可,不影響部署項目,有的版本就是不支持首頁,切記不用糾結,切記,切記。
部署項目的時候,只要在你掛載的宿主機/shw/tomcat/webapps目錄下放上你的war包,然后重啟這個容器即可。
訪問:http://ip:8080/war包名稱;
想看鏡像的內部目錄結構,就得先把鏡像運行起來,進入容器后,使用ls或者ls -l查看,ll不行。
docker exec -it [容器id] /bin/bash #進入容器

docker inspect [容器id] # 查看容器掛載情況,在Mounts后面

