一、镜像IMAGES操作类 ** 1.镜像重命名** docker tag IMAGE ID NEW REPOSITORY:NEW TAG IMAGE ID表示现有的镜像ID号,NEW REPOSITORY:NEW TAG表示要新的镜像名和标签;如下: 或者 docker tag OLD REPOSITORY NEW REPOSITORY:NEW TAG OLD REPOSITORY表示原来的旧的镜像名; 但是要注意:docker重命名镜像,并不是真的重命名,而是把原来的镜像复制重命名,旧的镜像仍然存在; ** ** 2.docker用commit根据现有镜像构建新的镜像 用创建一个容器,并停止运行: docker run -itd --name <NAME> <IMAGES_NAME>:<TAG> /bin/bash; docker stop <NAME>; 根据已停止的容器构建新的镜像: docker <CONTAINER ID> <NEW IMAGES>:<NEW TAG> 例如: docker run -itd --name ng nginx:latest /bin/bash; docker stop ng; docker 912d22c4d37e | ng 20190408_ngnix:20190408_latest;

构建过程原理: 根据现有的基础镜像创建运行容器后,在这个容器写入自己需要内容的同时,docker会把原来的镜像分层从上而下进行复制,并添加一个读写层(自己所需内容就是写在读写层的),这就是"写时复制"; 然后把再把容器commit打包成新的镜像,用新镜像创建运行一个容器,原来添加的读写层就变成只读层了;

二、容器操作 1.运行容器命令解释 docker run -it -d --name ng nginx:latest /bin/bash /bin/bash:是指在容器中运行的命令,而不是在宿主机指定bash解释器;