DockerClient二级指令 - 容器rootfs命令(commit、cp、diff)

1、commit:根据容器的更改创建新镜像

A)语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

B)选项

1 -a, --author string    Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
2 -c, --change list      Apply Dockerfile instruction to the created image
3 -m, --message string   Commit message
4 -p, --pause            Pause container during commit (default true)

 C)实例

docker commit -m="Added Apache to Fedora base image" -a="Administrator" 98bd7fc99854 fedora/fedora_httpd:20 #通过一个已存在的容器创建新镜像
docker commit -c="ENV DEBUG true" 98bd7fc99854 debug-image  #如果现有的容器创建没有调试环境变量设置为"true",您可以创建一个新的图像基于容器首先得到容器的ID通过docker ps,然后通过-c参数指定

 2、cp:在容器和本地文件系统之间复制文件/文件夹

A)语法

1 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
2 docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

B)选项

-a, --archive       Archive mode (copy all uid/gid information)
-L, --follow-link   Always follow symbol link in SRC_PATH

C)实例

docker cp anaconda-ks.cfg mymysql:/tmp  #把宿主机的anaconda-ks.cfg文件复制到mymysql容器的tmp目录下
docker exec -it mymysql ls -l /tmp      #检查下
total 4
-rw------- 1 root root 1295 Apr 22  2018 anaconda-ks.cfg

#如果想从容器内复制东西(文件/文件夹)到宿主机,把两个路径对反过来就行了

3、diff:检查容器文件系统上文件或目录的更改

A)语法

docker diff CONTAINER

B)实例

docker diff mymysql #以下:C为修改,A为添加,可以看到刚才复制进去的anaconda-ks.cfg文件
C /root
A /root/.bash_history
C /run/mysqld
A /run/mysqld/mysqld.pid
A /run/mysqld/mysqld.sock
A /run/mysqld/mysqld.sock.lock
C /tmp
A /tmp/anaconda-ks.cfg
posted @ 2019-02-10 17:26  忘了是怎么开始  阅读(224)  评论(0)    收藏  举报