一、镜像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解释器;