0%

Docker镜像迁移/分享

问题描述

在没有外网的情况下,怎样把 docker image 分享给局域网的其他用户?

解决办法

解决办法有两个,一个是搭建本地镜像仓库,一个是导出导入镜像。

搭建本地镜像仓库

搭建本地镜像仓库,把镜像push到本地镜像仓库,其他机器pull即可。

假设需求为本机有镜像 busybox:1.25,现在想要把这个镜像分享给其他机器。

1、有镜像的机器执行:

1
2
3
docker tag busybox:1.25 harbor.voidking.com/base/busybox:1.25
docker login harbor.voidking.com
docker push harbor.voidking.com/base/busybox:1.25

2、其他机器执行:

1
2
docker pull harbor.voidking.com/base/busybox:1.25
docker tag harbor.voidking.com/base/busybox:1.25 busybox:1.25

导出导入镜像

导出导入镜像,主要依赖docker savedocker load命令。

假设需求为本机有镜像 busybox:1.25,现在想要把这个镜像分享给其他机器。

1、有镜像的机器导出镜像
docker save -o busybox.tar busybox:1.25

2、拷贝压缩包到其他机器

3、其他机器导入镜像
docker load < busybox.tar

假设需求为本机有很多个镜像,现在想要把这些镜像全部导出到其他机器。

1、有镜像的机器导出所有镜像
docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o all.tar

2、拷贝压缩包到其他机器

3、其他机器导入镜像
docker load -i all.tar

  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-docker-image-migrate/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~