Docker 导出&加载镜像

本文介绍如何使用Docker命令导出和加载镜像。通过dockersave和dockerload命令,可以方便地分享和获取镜像。

文章首发自个人网站:https://www.exception.site/docker/docker-save-load-image

本文中,您将学习 Docker 如何导出&加载镜像。当我们需要将镜像分享给别人时,可以将镜像导出成 tar 包,别人直接通过加载这个 tar 包,快速地将镜像引入到本地镜像库。

要想使用这两个功能,主要是通过如下两个命令:

  1. docker save
  2. docker load

一、导出镜像

查看本地镜像如下:

Docker 查看镜像信息

例如,我们想要将 python:3 镜像导出来,执行命令:

docker save -o python_3.tar python:3

执行成功后,查看当前目录:

Docker 导出文件

可以看到 python_3.tar 镜像文件已经生成。接下来,你可以将它通过复制的方式,分享给别人了!

二、加载镜像

别人拿到了这个 tar 包后,要如何导入到本地的镜像库呢?

通过执行如下命令:

docker load -i python_3.tar

或者:

docker load < python_3.tar

导入成功后,查看本地镜像信息,你就可以获得别人分享的镜像了!怎么样,是不是很方便呢!

三、总结

本文中,我们学习了 Docker 中如何导出与加载镜像,知道了如何将镜像分享给别人,以及加载别人分享的镜像。祝您学习愉快!

### Docker 导出容器为镜像的方法 在 Docker 中,可以通过多种方式将运行中的容器转换为可重用的镜像。以下是两种主要方法: #### 方法一:使用 `docker commit` 创建镜像 可以利用 `docker commit` 命令将现有的容器提交并创建一个新的镜像。该命令的基本语法如下: ```bash docker commit 容器ID 新镜像名称[:标签] ``` 例如,如果有一个正在运行的容器 ID 为 `55db383ca7c6` 并希望将其命名为 `torch3:1` 的新镜像,则执行以下命令[^2]: ```bash docker commit 55db383ca7c6 torch3:1 ``` #### 方法二:导出容器为 tar 文件后再加载镜像 另一种常见的方式是先将容器保存为一个 `.tar` 文件,然后再加载Docker 环境作为新的镜像。 1. **导出容器为 Tar 文件** 使用 `docker export` 可以将容器的内容导出到一个压缩包中。注意,这种方式不会保留原始镜像的历史记录和元数据。 ```bash docker export -o container-exported.tar 容器ID ``` 2. **从 Tar 文件重新导入为镜像** 如果需要将上述导出的文件再次转化为镜像,可以使用 `cat` 或其他工具配合 `docker import` 来完成操作。 ```bash cat container-exported.tar | docker import - 新镜像名称[:标签] ``` 这样会生成一个新的镜像,其历史层会被简化成单一的一层[^4]。 #### 方法三:基于 Dockerfile 构建自定义镜像 除了直接从现有容器生成镜像外,还可以编写 Dockerfile 描述所需的环境配置,之后通过构建过程得到定制化的新镜像。具体做法如下所示[^3]: ```bash docker build -t 自定义镜像名:版本号 路径/ ``` 其中路径指向包含有 Dockerfile 的目录位置。 以上便是几种常见的由容器转制成镜像的技术手段介绍。 ### 示例代码片段 下面给出一段简单的脚本用于演示如何自动化这一流程: ```bash #!/bin/bash CONTAINER_ID=$1 IMAGE_NAME=$2 if [ -z &quot;$CONTAINER_ID&quot; ] || [ -z &quot;$IMAGE_NAME&quot; ]; then echo &quot;Usage: $0 CONTAINER_ID IMAGE_NAME&quot; exit 1 fi # Commit the running container to a new image docker commit ${CONTAINER_ID} ${IMAGE_NAME}:latest echo &quot;New image created with name &#39;${IMAGE_NAME}&#39; from container &#39;${CONTAINER_ID}&#39;.&quot; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值