Docker 02 - 向 Docker 的 Tomcat 映象中部署 Web 應用
阿新 • • 發佈:2019-12-11
目錄
- 1 下載 Docker 映象
- 2 部署Web專案
- 2.1 通過Dockerfile自定義專案映象
- 2.2 啟動自定義映象, 生成一個容器
- 2.3 另一種啟動方式: 互動式啟動
- 3 (附) 向映象中新增檔案
在此篇之前, 需要配置一些環境, 請參考上一篇的介紹: Docker 01 - CentOS 7 中安裝 Docker 的詳細步驟.
1 下載 Docker 映象
# 檢視本地映象(暫時沒有任何映象): [root@localhost /data]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE # 檢視正在執行的 Docker 容器(暫時沒有執行的): [root@localhost /data]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
配置國內的映象加速器, 然後抓取 Tomcat 的映象:
# 前往 Docker 安裝目錄, 新增配置: [root@localhost ~]# cd /etc/docker/ [root@localhost docker]# ls key.json [root@localhost docker]# vim daemon.json # 加速器配置內容如下: { "registry-mirrors": ["https://registry.docker-cn.com", "https://pee6w651.mirror.aliyuncs.com"] } # 儲存、退出後, 另配置生效: [root@localhost docker]# systemctl daemon-reload # 最後需要重啟 Docker 服務: [root@localhost docker]# systemctl start docker.service # 然後從倉庫中拉取 Tomcat 映象(下面映象名稱與映象分支號之間的冒號":"不能有空格): [root@localhost /data]# docker pull tomcat:8.5.43 8.5.43: Pulling from library/tomcat 9cc2ad81d40d: Pulling fs layer e6cb98e32a52: Download complete 42cfa3699b05: Pull complete ...... Digest: sha256:6e30b06a90d3206519a5ea730057001a1b830b9169e1baf76a97e1767efc0db7 Status: Downloaded newer image for tomcat:8.5.43 # 檢視是否拉取成功: [root@localhost docker]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 8.5.43 6e30b06a90d3 4 days ago 506MB
2 部署Web專案
2.1 通過Dockerfile自定義專案映象
我們通過 Dockerfile 指令碼(由一系列命令和引數構成), 從基礎映象中建立一個新的、自定義的映象.
# 建立操作目錄: [root@localhost ~]# mkdir -p /data/Docker && cd /data/Docker # 建立 Dockerfile 指令碼, 內容如下: [root@localhost ~]# cat Dockerfile FROM tomcat:8.5.43 ADD heal-test /usr/local/tomcat/webapps # 其中 “heal-test” 是我們要釋出的測試Web專案, 是解壓後的檔案, 與 Dockerfile 處於同級目錄. # 在 Dockerfile 檔案所在目錄執行: [root@localhost Docker]# docker build --rm -t heal-test:1.0 . Sending build context to Docker daemon 70.75MB Step 1/2 : FROM tomcat:8.5.43 ---> 6e30b06a90d3 Step 2/2 : ADD goSearch /usr/local/tomcat/webapps ---> 09ddcc5cacc6 Successfully built 09ddcc5cacc6 Successfully tagged heal-test:1.0 # 檢視映象是否生成: [root@localhost Docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE heal-test 1.0 09ddcc5cacc6 7 seconds ago 576MB tomcat 8.5.43 6e30b06a90d3 4 days ago 506MB
2.2 啟動自定義映象, 生成一個容器
# 根據自定義的映象建立一個容器, 執行在宿主機的 7070 埠上:
[root@localhost data]# docker run -it -p 7070:8080 heal-test:1.0
# 檢視是否正常執行:
[root@localhost data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23f14c40c4f8 heal-test:1.0 "catalina.sh run" 20 seconds ago Up 19 seconds 0.0.0.0:7070->8080/tcp upbeat_meninsky
2.3 另一種啟動方式: 互動式啟動
# 通過bash命令, 與 Docker 進行互動:
[root@localhost Docker]# docker run -it --name heal-test -p 7070:8080 heal-test:1.0 bash
WARNING: IPv4 forwarding is disabled. Networking will not work.
root@87aabcbc700b:/usr/local/tomcat# cd conf/
root@87aabcbc700b:/usr/local/tomcat/conf# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
root@87aabcbc700b:/usr/local/tomcat/conf# exit
exit
3 (附) 向映象中新增檔案
映象中一般不支援vi
、vim
等工具, 因此我們可以藉助cp
(拷貝)命令上傳檔案到映象中.
# 通過 cp 命令將檔案拷貝到容器中:
[root@localhost data]# docker cp test.xml 23f14c40c4f8:/usr/local/tomcat/conf/Catalina/localhost
參考資料
Docker 刪除映象
使用 Dockerfile 定製映象
在docker下的tomcat容器中部署war包的兩種方式
Docker安裝+HelloWorld+執行Tomcat
版權宣告
作者: 馬瘦風(https://healchow.com)
出處: 部落格園 馬瘦風的部落格(https://www.cnblogs.com/shoufeng)
感謝閱讀, 如果文章有幫助或啟發到你, 點個[好文要頂