docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker无网络镜像迁移

无网络docker镜像迁移的实现

作者:xixingzhe2

本文主要介绍了无网络docker镜像迁移的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、背景

2、私服安装

有网络环境保存镜像

在有网络的电脑B上,运行以下命令将Docker Registry镜像保存为tar文件:

docker pull registry:2
docker save registry:2 > registry.tar

无网络安装

在服务器A上,运行以下命令加载并启动Docker Registry:

docker load < registry.tar
docker run -d -p 5000:5000 --restart=always --name registry registry:2

此时,服务器A上的Docker私有仓库已经启动,监听在localhost:5000。Docker Registry 本身不提供 Web 界面,默认仅提供 API 服务。

验证是否成功

curl http://your-registry-ip:5000/v2/_catalog

部署可视化界面(非必须)

docker run -d \
  -p 8081:80 \
  -e REGISTRY_URL=http://your-registry-ip:5000/v2 \
  -e REGISTRY_TRUST_ANY_SSL=true \
  joxit/docker-registry-ui:static

访问地址:http://localhost:8081

3、构建应用镜像并上传到私有仓库

构建应用镜像

在电脑C上,构建你的应用镜像,例如:

docker build -t my-app:latest .

将应用镜像推送到服务器A的私有仓库

首先,将应用镜像打上服务器A私有仓库的标签

docker tag my-app:latest <服务器A的IP地址>:5000/my-app:latest

然后,将镜像推送到服务器A的私有仓库:

docker push <服务器A的IP地址>:5000/my-app:latest

在推送过程中,Docker会将镜像数据传输到服务器A上的私有仓库。

4、运行镜像

在服务器B上从私有仓库拉取镜像并运行应用。

拉取镜像

在服务器B上,运行以下命令从私有仓库拉取应用镜像:

docker pull <服务器A的IP地址>:5000/my-app:latest

运行应用容器

拉取镜像后,运行应用容器

docker run -d --name my-app-container <服务器A的IP地址>:5000/my-app:latest

到此这篇关于无网络docker镜像迁移的实现的文章就介绍到这了,更多相关docker无网络镜像迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文