docker学习笔记(8):容器镜像导入导出与启动操作

您所在的位置:网站首页 docker镜像停止运行了怎么看id docker学习笔记(8):容器镜像导入导出与启动操作

docker学习笔记(8):容器镜像导入导出与启动操作

2024-04-04 02:36| 来源: 网络整理| 查看: 265

容器导入与导出

首先看一下有哪些正在运行或者被stop的容器:

docker ps docker ps -a

在这里插入图片描述 然后选择需要导出的容器,命令格式为:

docker export [options] container

比如说要导出上面的第一个容器:

docker export 921e3de63cd4 > update.tar

然后就会看见在当前目录下生成了update.tar文件,这里需要注意写入的必须是存在的容器名,不然会报错 Error response from daemon: No such container: xxxxxx,另外最好也别写入镜像名,具体原因下面会介绍。

做好tar文件后,就可以在未导入的机器上进行导入,导入的命令格式为:

docker import [options] file|URL|- [REPOSITORY[:TAG]]

上述命令后面的REPOSITORY是为标签,为了防止导入后没有标签名而全是None:

docker import update.tar submarineas/my-flask:v0.1

在这里插入图片描述

另外还有一种直接用转向符导入容器的方式:

# 第一种方式 docker import - update update1.tar test:latest

根据 Docker镜像的导入导出 博文中我知道,export导出的文件再import回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。

在实际使用中我发现,在提交为镜像后,save保存的文件会比export导出的文件要大100M左右,原因可能是save保存了每一层layer的信息产生了重复文件,而让镜像的层级更明确,这里如果用容器的导入方式是没问题的,但如果关系反一下,容器的导出用镜像的导入,就可能会报错:open /var/lib/docker/tmp/docker-import/repositories: no such file or dir

那么镜像的导入方式为:

docker load -i update1.tar 或 docker load


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3