1. 程式人生 > >Docker——給tomcat容器部署專案並且做成新的映象(容器內外拷貝)(六)

Docker——給tomcat容器部署專案並且做成新的映象(容器內外拷貝)(六)

注:命令中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]# 




內鏈: