1、首先你需要提前準備好jar包或者war包,並想辦法放入Linux環境(或虛擬機)中; 2、java項目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他倆的鏡像,這裡以Tomcat為例: # : 後面需要加上war或者jar對應的Tomcat版本,最好加上, # 否則預設最新的 ...
1、首先你需要提前準備好jar包或者war包,並想辦法放入Linux環境(或虛擬機)中;
2、java項目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他倆的鏡像,這裡以Tomcat為例:
# : 後面需要加上war或者jar對應的Tomcat版本,最好加上,
# 否則預設最新的版本--latest,會出現版本不相容的問題
docker pull tomcat:9.0.35
# 查看docker的鏡像
docker images
3、接下來需要創建一個tomcat的容器:
# "your-container" 是容器名,tomcat:9.0.35是鏡像名
# 第一個埠號8088是實際要訪問的埠號
# 第二個埠號8080是tomcat伺服器預設的埠號
docker run -p -d 8088:8080 --name your-container tomcat:9.0.35
4、創建後需要將war包或者jar包移動到tomcat容器(your-container)中的webapps下,或者採用掛載的方式
--- 方式一:非掛載
# 進入tomcat容器
# containerId為容器實際id,可通過docker ps -a命令查看
docker exec -it containerId /bin/bash
# 這樣就會進入tomcat容器的目錄,一般都是/usr/local/tomcat,
# 進入後確定webapps的路徑,基本就是在當前目錄下,即/usr/local/tomcat/webapps
# 確定webapps的路徑後退出
exit
# 假設你的java項目為myWeb.war,位於/path/myWebProj/myWeb.war
# containerId為tomcat容器實際id
# 複製後並重命名為ROOT.war(可以不重命名)
docker cp /path/myWebProj/myWeb.war containerId:/usr/local/tomcat/webapps/ROOT.war
# 重啟容器
docker restart your-container
# 查看日誌——可以看到運行war的輸出日誌,不報錯基本沒問題
docker logs your-container
# 瀏覽器輸入地址查看即可
# localhost是你伺服器地址,這裡是本地,否則是你當前伺服器的ip
# 8088是在docker run的時候設置的介面映射,映射為tomcat的8080埠
http://localhost:8088
--- 方式二:掛載
# 掛載方式更加簡潔
# 下述命令可以堪稱上述3-4命令的集合
# 當然仍然要保證tomcat容器下webapps的路徑正確
docker run -p -d 8088:8080 --name your-container -v /path/myWebProj/myWeb.war:/usr/local/tomcat/webapps/ROOT.war tomcat:9.0.35
# 重啟容器
docker restart your-container