docker commit 与 docker import
时间: 2023-12-12 15:36:09 浏览: 102
docker commit命令用于将容器的当前状态保存为一个新的镜像。语法如下:
```shell
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
```
其中,OPTIONS包括:
- -a, --author:指定作者;
- -c, --change=[]:提交时执行的Dockerfile指令;
- -m, --message="":提交时的说明信息;
- -p, --pause=true:提交时暂停容器运行。
例如,我们可以使用以下命令将容器的当前状态保存为一个新的镜像:
```shell
docker commit -m "Added nginx server" -a "John Doe" mynginx nginx:v2
```
docker import命令用于将文件系统打包成镜像文件。语法如下:
```shell
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
```
其中,OPTIONS包括:
- --change=[]:提交时执行的Dockerfile指令;
- -c, --message="":提交时的说明信息。
例如,我们可以使用以下命令将文件系统打包成镜像文件:
```shell
docker import mycontainer.tar myimage:v1
```
相关问题
请写出docker export、docker import与docker save、docker load还有docker commit这三者的区别。
Docker提供了多种命令和方法来处理镜像和容器的导入和导出。下面是docker export、docker import、docker save、docker load和docker commit这三个命令的区别和适用场景:
1. docker export和docker import:
- docker export命令用于将容器的文件系统导出为.tar文件,不包含镜像的元数据信息。导出的文件可以在其他机器上使用docker import命令导入为镜像。
- docker import命令用于将导出的.tar文件导入为镜像,但不包含原始镜像的历史记录和元数据信息。
- 适用场景:当你只需要容器的文件系统而不关心镜像的历史记录和元数据时,可以使用docker export和docker import命令。
2. docker save和docker load:
- docker save命令用于将一个或多个镜像保存为.tar文件,包含镜像的元数据信息和文件系统。保存的文件可以使用docker load命令加载为镜像。
- docker load命令用于从.tar文件加载镜像到Docker守护进程中。
- 适用场景:当你需要备份或迁移镜像时,可以使用docker save和docker load命令。
3. docker commit:
- docker commit命令用于将容器的更改保存为新的镜像。它会创建一个新的镜像,并在原始镜像的基础上应用容器的更改。
- 适用场景:当你对容器进行了一些修改,并希望将这些修改保存为新的镜像时,可以使用docker commit命令。
将镜像从本地导入导入和导出到本地的命令是 A docker load docker save B docker export docker import C docker run docker commit D docker image docker ps
答案:B docker export docker import。
将镜像从本地导入可以使用docker import命令,语法为:docker import xxx.tar NewImageName:tag。将镜像导出到本地可以使用docker save命令,语法为:docker save -o xxx.tar ImageName:tag。
所以选项B是正确的。
阅读全文