无网络docker镜像迁移的实现

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

1、背景

  • 私服服务器:docker私服部署在没有网络的服务器A上。
  • 应用程序服务器:无网络服务器B,A和B可以相互通信
  • 开发者:开发者的电脑C有网络,C可以和A、B通信,可以上传私服,部署应用。

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
  • 预期响应:{"repositories":[]}(初始为空)。

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

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无网络镜像迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Docker容器启动失败的常见原因分析及解决方法

    Docker容器启动失败的常见原因分析及解决方法

    我们在开发部署的时候,用 Docker 打包环境,理论上是“我装好了你就能跑”,但理想很丰满,现实往往一 docker run 下去就翻车了,今天来盘点一下我实际工作中经常遇到的 Docker 容器启动失败的常见原因及解决方法,需要的朋友可以参考下
    2025-05-05
  • Windows Docker Desktop磁盘空间清理步骤完全指南

    Windows Docker Desktop磁盘空间清理步骤完全指南

    Windows Docker Desktop在长时间使用后,会由于镜像、容器、缓存等文件累积,导致磁盘空间占用过大,这篇文章主要介绍了Windows Docker Desktop磁盘空间清理的相关资料,需要的朋友可以参考下
    2026-04-04
  • Docker中容器数据卷(Data Volume)和数据管理详解

    Docker中容器数据卷(Data Volume)和数据管理详解

    本文主要给大家介绍了关于Docker中容器数据卷(Data Volume)和数据管理的相关资料,文中介绍的很详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-02-02
  • Windows 安装 Docker核心思路

    Windows 安装 Docker核心思路

    Docker是一个让应用在隔离环境中运行的工具,本质上是在已运行的Linux系统中创建一个隔离的文件环境,本文介绍了在Windows上安装Docker的方法,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • 使用 Docker 部署 GitLab 并持久化数据的实例步骤

    使用 Docker 部署 GitLab 并持久化数据的实例步骤

    本文将详细介绍如何使用 Docker 部署 GitLab,并将数据(如仓库、配置、日志等)持久化到主机磁盘,我们还将解决常见的端口冲突问题,并介绍如何从另一台 GitLab 恢复数据到新的 GitLab 实例,感兴趣的朋友一起看看吧
    2025-05-05
  • docker常用指令的实现示例

    docker常用指令的实现示例

    本文主要介绍了docker常用指令,文中通过示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • Docker中的容器网络和通信原理详解

    Docker中的容器网络和通信原理详解

    这篇文章主要介绍了Docker中的容器网络和通信原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 使用Docker部署Tomcat的实现示例

    使用Docker部署Tomcat的实现示例

    在本地编写好了Spring项目,为了实现能够随时地访问,所以需要将项目部署到服务器,本文主要介绍了使用Docker部署Tomcat的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Docker设置mysql不区分大小写问题

    Docker设置mysql不区分大小写问题

    这篇文章主要介绍了Docker设置mysql不区分大小写问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker容器之内网独立IP访问的方法

    Docker容器之内网独立IP访问的方法

    这篇文章主要介绍了Docker容器之内网独立IP访问的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论