19-提交镜像

使用docker commit 命令提交容器成为一个新的版本
docker commit -m=“提交的描述信息” -a="作者" 容器id 目标镜像名:[TAG]

由于默认的Tomcat镜像的webapps文件夹中没有任何内容,需要从webapps.dist中拷贝文件到webapps文件夹。下面自行制作镜像:就是从webapps.dist中拷贝文件到webapps文件夹下,并提交该镜像作为一个新的镜像。使得该镜像默认的webapps文件夹下就有文件。具体命令如下:

    #1.复制文件夹
    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker run -it tomcat /bin/bash
    root@2a3bf3eaa2e4:/usr/local/tomcat# cd webapps
    root@2a3bf3eaa2e4:/usr/local/tomcat/webapps# ls
    root@2a3bf3eaa2e4:/usr/local/tomcat/webapps# cd ../
    root@2a3bf3eaa2e4:/usr/local/tomcat# cp -r webapps.dist/* webapps
    root@2a3bf3eaa2e4:/usr/local/tomcat# cd webapps
    root@2a3bf3eaa2e4:/usr/local/tomcat/webapps# ls
    ROOT  docs  examples  host-manager  manager
    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps
    CONTAINER ID   IMAGE                 COMMAND        CREATED         STATUS         PORTS                    NAMES
    2a3bf3eaa2e4   tomcat                "/bin/bash"    4 minutes ago   Up 4 minutes   8080/tcp                 competent_torvalds
    7789d4505a00   portainer/portainer   "/portainer"   24 hours ago    Up 24 hours    0.0.0.0:8088->9000/tcp   quirky_sinoussi
    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker exec -it 2a3bf3eaa2e4 /bin/bash
    root@2a3bf3eaa2e4:/usr/local/tomcat# cd webapps
    root@2a3bf3eaa2e4:/usr/local/tomcat/webapps# ls
    ROOT  docs  examples  host-manager  manager
    root@2a3bf3eaa2e4:/usr/local/tomcat/webapps# cd ../
    root@2a3bf3eaa2e4:/usr/local/tomcat# read escape sequence
    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps
    CONTAINER ID   IMAGE                 COMMAND        CREATED         STATUS         PORTS                    NAMES
    2a3bf3eaa2e4   tomcat                "/bin/bash"    8 minutes ago   Up 8 minutes   8080/tcp                 competent_torvalds
    7789d4505a00   portainer/portainer   "/portainer"   24 hours ago    Up 24 hours    0.0.0.0:8088->9000/tcp   quirky_sinoussi
    #2.提交镜像作为一个新的镜像

    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker commit -m="add webapps" -a="Ethan" 2a3bf3eaa2e4 mytomcat:1.0
    sha256:f189aac861de51087af5bc88a5f1de02d9574e7ee2d163c647dd7503a2d3982b
    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker images
    REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
    mytomcat              1.0       f189aac861de   7 seconds ago   653MB
    mysql                 5.7       f07dfa83b528   6 days ago      448MB
    tomcat                latest    feba8d001e3f   10 days ago     649MB
    nginx                 latest    ae2feff98a0c   12 days ago     133MB
    centos                latest    300e315adb2f   2 weeks ago     209MB
    portainer/portainer   latest    62771b0b9b09   5 months ago    79.1MB
    elasticsearch         7.6.2     f29a1ee41030   9 months ago    791MB

    #3.运行容器

    [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker run -it mytomcat:1.0 /bin/bash
    root@1645774d4605:/usr/local/tomcat# cd webapps
    root@1645774d4605:/usr/local/tomcat/webapps# ls
    ROOT  docs  examples  host-manager  manager
    wz99sm8v95sckz8bd2c4Z ~]# docker images
    REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
    mytomcat              1.0       f189aac861de   7 seconds ago   653MB
    mysql                 5.7       f07dfa83b528   6 days ago      448MB
    tomcat                latest    feba8d001e3f   10 days ago     649MB
    nginx                 latest    ae2feff98a0c   12 days ago     133MB
    centos                latest    300e315adb2f   2 weeks ago     209MB
    portainer/portainer   latest    62771b0b9b09   5 months ago    79.1MB
    elasticsearch         7.6.2     f29a1ee41030   9 months ago    791MB

如果你想保存当前容器的状态,一定要通过commit进行提交,获得一个镜像,就好比我们VM的快照

posted @ 2022-01-13 17:33  不是孩子了  阅读(74)  评论(0)    收藏  举报