docker 容器离线迁移

这两天项目开发环境需要搬迁容器,需要将服务器A的容器迁至服务器B。主要有以下步骤:

(服务器A)镜像持久化到本地

docker save -o 【目的文件】【镜像】
 // 以mongo镜像为例
 docker save -o mongo.tar mongo:latest

(服务器B)从本地文件加载docker镜像

docker load -i 【目的文件】
 // 以mongodb镜像为例
 docker load -i  mongo.tar

启动docker镜像生成容器

 docker run -itd --name mongo11 -p 27027:27017 mongo

注意

如果发现新的mongodb容器中只是基础的mongodb,而没有Collections等数据,需要在服务器A持久化步骤前,通过docker commit 根据当时最新的容器(container)生成新的镜像(image)

Docker 安装 MySQL 的离线过程主要是为了在没有网络连接的情况下,仍然能够下载并运行 MySQL 镜像。以下是基本步骤: 1. **下载镜像文件**: - 在有网络的时候,先从 Docker Hub 上下载 MySQL 的官方镜像。你可以通过命令 `docker pull mysql` 来获取,但在这个阶段需要网络。 - 将下载好的镜像保存到本地,例如使用 `docker save mysql:latest > mysql.tar` 这样会将镜像导出到一个 tar 文件。 2. **准备环境**: - 创建一个新的目录,比如 `my-offline-docker`,用于存放所有离线安装的依赖文件。 - 将 `mysql.tar` 文件移动到这个目录下。 3. **解压镜像**: - 在没有网络的环境中,进入该目录并解压镜像: ``` docker load < mysql.tar ``` 4. **启动容器**: - 使用 `docker run` 命令启动容器,并指定必要的配置选项(如端口映射、数据卷等),因为这些通常需要网络才能设置,所以你需要先手动设定好相关的参数。 5. **初始化数据库**: - 如果容器启动后需要初始化数据库,这一步可能需要网络来执行脚本或者从外部提供配置文件。如果没有网络,你可能需要创建一个包含初始数据的 SQL 文件,然后通过容器的文件系统将它挂载进去。 6. **备份和恢复**: - 同理,如果后续需要更新或者迁移数据,也可能会涉及到网络操作。如果你希望离线管理数据,可能需要定期把数据库内容导出到另一个离线介质上。 需要注意的是,虽然上述过程可以让你在有限的网络条件下安装 MySQL,但在实际生产环境中,推荐还是保持网络连接以便及时更新和修复安全漏洞。同时,离线安装的复杂度和维护成本往往较高,应权衡实际情况选择合适的部署方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值