Docker——給tomcat容器部署專案並且做成新的映象(容器內外拷貝)(六)
阿新 • • 發佈:2018-12-23
注:命令中ID有時長有時短,在此做個解釋:大多情況無需拷貝完整的id,通常來講最開始的三至四個字母即可區分
1、給tomcat容器部署專案即拷貝檔案到tomcat容器中(向容器內拷貝)
方法一、掛載宿主機目錄到容器(弊端:必須在容器啟動時執行掛載)
命令:docker run -d -itp 80:8080 -v /zpfile:/mnt c0c /bin/bash (-v即掛載引數, -v 宿主機目錄:容器的目錄)
[[email protected] ROOT]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hub.c.163.com/wangjiaen/centos6.9 ssh 5caf8ed79df7 9 weeks ago 370.9 MB hub.c.163.com/public/tomcat 7.0.28 a3c2d8714b1c 15 months ago 266.9 MB
[[email protected] /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3e6b957608e c0c "/bin/sh -c '/etc/in 13 minutes ago Up 13 minutes 22/tcp, 0.0.0.0:80->8080/tcp adoring_banach
[ [email protected] /]#
[[email protected] /]# docker run -d -itp 80:8080 -v /zpfile:/mnt c0c bash
c3e6b957608eef39db29361cebff3670283f2fe5a7b89ab0eee1d0ce8842fe5e
[[email protected] /]#
[[email protected] zpfile]# ls
docker
[[email protected] zpfile]# docker exec -it c3e bash
[email protected] :/# cd /mnt/
[email protected]:/mnt# ls
docker
然後把要部署的專案放到掛載目錄在docker容器中就可以直接操作了,即可以部署到tomcat服務中方法二、在宿主機找到容器的位置,直接將檔案拷貝到相應的位置即可
命令:docker inspect -f '{{.Id}}' c3e (c3e即容器ID前三字母)
[[email protected] zpfile]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3e6b957608e c0c "/bin/sh -c '/etc/in 33 minutes ago Up 33 minutes 22/tcp, 0.0.0.0:80->8080/tcp adoring_banach
[[email protected] zpfile]# docker inspect -f '{{.Id}}' c3e
c3e6b957608eef39db29361cebff3670283f2fe5a7b89ab0eee1d0ce8842fe5e
[[email protected] zpfile]# cd /var/lib/docker/devicemapper/mnt/c3e6b957608eef39db29361cebff3670283f2fe5a7b89ab0eee1d0ce8842fe5e/rootfs/var/lib/tomcat7/webapps/
[[email protected] webapps]# ls
ROOT
然後在相應的目錄部署專案即可
2、從容器往外拷貝檔案(向宿主機拷貝)
命令:docker cp c3e:/var/lib/tomcat7/webapps/ROOT /zpfile/ (docker cp 容器ID:容器目錄或檔案 宿主機目錄)
[[email protected] ~]# cd /zpfile/
[[email protected] zpfile]# ls
docker
[[email protected] zpfile]# docker cp c3e:/var/lib/tomcat7/webapps/ROOT /zpfile/
[[email protected] zpfile]# ls
docker ROOT
[[email protected] zpfile]#
3、部署完成後,把當前部署好的容器做成新的docker映象
命令:docker commit a3c2d8714b1c tomcat7addzy
[[email protected] zpfile]# docker commit c3e tomcat7new
d5b7fc0172d7e7959f5a415cb0c6d325e04caacd1dd9f90df6890672e0c2c5c4
[[email protected] zpfile]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tomcat7new latest d5b7fc0172d7 10 seconds ago 267 MB
hub.c.163.com/wangjiaen/centos6.9 ssh 5caf8ed79df7 9 weeks ago 370.9 MB
hub.c.163.com/public/tomcat 7.0.28 a3c2d8714b1c 15 months ago 266.9 MB
[[email protected] zpfile]#
內鏈: