当前位置: 代码迷 >> 综合 >> Docker 保存与发布(commit, save, load)
  详细解决方案

Docker 保存与发布(commit, save, load)

热度:118   发布时间:2023-11-13 23:26:39.0

Docker 保存与发布(commit, save, load)

文章目录

  • Docker 保存与发布(commit, save, load)
  • 前言
  • 一、docker commit (生成)
  • 二、docker save(保存)
  • 二、docker load(加载)
  • 总结


前言

本人想利用mmdetection3d中的代码框架做二次开发,由于配置环境过于复杂,本人直接用的mmdetection3d提供的dockerfile生成镜像作为开发环境。

中间可以自己在镜像(容器)中做了一些修改,想把这个镜像发布出去,让同学也运行代码。为了实现这个功能,大概了解一下docker的commit,save和load。
docker 官方

一、docker commit (生成)

参考:
docker commit

当我在mmdetection3d的容器上修改后,可以通过 docker commit 的方式将容器生成新的镜像(相当于word的 另存为)。

# 重新生成一个镜像(生成过程要出docker):
docker commit id name
# id:做过更改容器的id
# name:随意命名
# 例如: docker commit f828 tom
# 生成完可以运行 docker images 查看

二、docker save(保存)

我们生成了 id=f82,name=tom 的镜像。现在将镜像打包保存。 生成了tar文件,可以发送给别人。

docker save -o  文件名   镜像名
# 例如 docker save -o ~/mydocker.tar tom
# -o是--output的简写。

二、docker load(加载)

当别人拿到了我的mydocker.tar文件时候,可以进行解压,在本地生成docker容器运行我的代码。

docker load -i  文件名   镜像名
# 例如 docker load -i mydocker.tar
# -i 是 --input 的简写
# docker images 就可以查看是否成功啦

总结

docker 生成,保存,和加载就这些啦。欢迎留言。

  相关解决方案