docker export
命令在 Docker 的早期版本中被用来从 Docker 容器中导出文件系统到一个 tar 归档文件中。然而,这个命令在 Docker 17.05 之后的版本中已经被废弃,官方推荐使用 docker commit
来创建一个新的镜像,或者使用 docker cp
命令来复制文件和文件夹。
如果你正在使用的 Docker 版本还支持 docker export
,以下是它的使用方法:
命令格式
docker export [OPTIONS] CONTAINER
CONTAINER
: 指定要导出的容器的 ID 或名称。
选项
- 没有特定的选项,容器 ID 或名称 是必须的。
示例
假设你有一个正在运行的容器,ID 为 my_container
,你想要导出这个容器的文件系统:
docker export my_container > my_container.tar
这个命令会将 my_container
的文件系统导出到标准输出,然后通过重定向操作符 >
将其写入到名为 my_container.tar
的文件中。
替代方案
由于 docker export
已经被废弃,以下是两个推荐使用的替代方案:
- 使用
docker commit
创建镜像
如果你想要保留容器的当前状态(包括文件系统和环境变量等),可以使用 docker commit
命令来创建一个新的镜像:
docker commit my_container my_new_image
这会根据 my_container
容器的当前状态创建一个新的镜像,并将其标记为 my_new_image
。
- 使用
docker cp
复制文件
如果你只需要从容器中复制特定的文件或目录,可以使用 docker cp
命令:
docker cp my_container:/path/to/file /host/directory
这个命令会从 my_container
容器中的 /path/to/file
复制文件到宿主机的 /host/directory
目录。
注意
- 使用
docker commit
创建的镜像不包括容器的卷数据,如果容器使用了卷(Volumes)来持久化数据,那么这些数据不会包含在新创建的镜像中。