docker image和container 导入和导出

一、docker image导入和导出

1、将docker镜像save到本地

docker save imageID -o saveImageName.tar 或者
docker save imageID > saveImageName.tar

在这里插入图片描述
2、加载镜像

docker load -i saveImageName.tar 或者
docker load < saveImageName.tar
在这里插入图片描述
3、解决镜像REPOSITORY和TAG为none问题

通过docker images可以发现IMAGE ID和SIZE都与之前一致,但REPOSTIORY和TAG显示为none
在这里插入图片描述
解决此问题,需要使用到docker tag命令
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 或者
docker tag IMAGEID TARGET_IMAGE[:TAG]
在这里插入图片描述
4、验证

根据新导入的镜像,启动mysql容器
docker run --name mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7.27
在这里插入图片描述

二、docker container 导入和导出

1、docker container 的导出

docker export b91d9ad83efa > tomcat80824.tar

2、docker container 的导入

docker import tomcat80824.tar
docker tag 880f tomcat80824:1.0

三、镜像和容器 导出和导入的区别

镜像导入和容器导入的区别:
1)容器导入 是将当前容器 变成一个新的镜像
2)镜像导入 是复制的过程

save 和 export区别:
1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息。

### Docker 镜像与容器的导入导出 #### 使用 `docker save` `docker load` 进行镜像的操作 对于镜像而言,Docker 提供了两个主要命令来实现其保存加载功能。通过 `docker save` 可以将本地的一个或多个镜像打包成 tar 文件存档,方便传输或者备份。此过程保留了镜像的所有元数据及其历史记录[^1]。 ```bash docker save -o my-image.tar my-image:tag ``` 相对应地,当需要从之前创建好的 tar 文件中恢复镜像时,则可利用 `docker load` 命令完成这一工作。这一步骤不仅能够还原原始镜像还包括它的全部版本信息[^2]。 ```bash docker load -i my-image.tar ``` #### 利用 `docker export` `docker import` 处理容器实例 不同于针对镜像层面的操作,在处理具体运行中的容器方面,有另外一对工具——即 `docker export` 以及 `docker import` 。前者允许用户把某个正在运作或是已经停止的服务环境直接转换为一个扁平化的文件形式输出;值得注意的是这种方式仅捕获当前状态而不涉及任何构建上下文或其他依赖关系[^3]。 ```bash docker export container_id > exported-container.tar ``` 后者则是为了重新引入这样一个静态快照回到可用的状态之中去,并可以选择赋予新的标签以便区分不同来源的数据集[^4]。 ```bash cat exported- new-image-name:tag ``` #### 关键差异对比 - **对象类型**: `docker save/export` 主要作用于不同的实体上 (`save` 对应镜像, 而 `export` 是指容器). - **历史记录保持情况**: 当采用 `docker save` 方法时能完好无损地携带原有各层结构及变更日志; 然而对于经由 `docker export/import` 流程产生的新镜像来说则不具备这样的特性 —— 所有的先前修改痕迹都将被抹除. - **灵活性**: 如果希望在导入过程中更改目标镜像的名字或者其他属性的话,那么应该考虑使用基于容器快照的方式(`import`)来进行操作.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值