【问题解决】如何将一个服务器的docker迁移到另一个服务器

要将Docker容器从一台机器迁移到另一台机器,可以按照以下步骤操作:

在机器A上提交容器为镜像:

使用docker commit命令将运行中的容器保存为新的镜像。这里需要容器的ID或名称,以及你想要命名的目标镜像名。

python 复制代码
docker commit [容器ID或名称] [目标镜像名]:[标签]
#例如:
docker commit my_container my_new_image:latest

在机器A上保存镜像为tar文件:

使用docker save命令将刚才创建的镜像保存为tar文件。

python 复制代码
docker save -o [文件名.tar] [目标镜像名]:[标签]
#例如:
docker save -o my_new_image.tar my_new_image:latest

将tar文件从机器A传输到机器B:

你可以使用scp或其他文件传输方法将tar文件从机器A传输到机器B。

python 复制代码
scp my_new_image.tar [用户]@[机器B的IP地址]:[路径]
#例如:
scp my_new_image.tar user@192.168.1.2:/home/user/

在机器B上加载镜像:

使用docker load命令在机器B上加载tar文件作为镜像。

python 复制代码
docker load -i [文件名.tar]
#例如
docker load -i my_new_image.tar

在机器B上运行新镜像:

现在可以在机器B上使用docker run命令来运行你的镜像。

python 复制代码
docker run -d [其他选项] my_new_image:latest

请确保在执行这些步骤时,两台机器上都安装了Docker,并且用户有足够的权限来执行Docker命令。如果你在传输文件时遇到权限问题,可能需要使用管理员权限或调整文件权限。此外,根据你的网络配置,你可能需要在scp命令中指定端口号(使用-P选项)。

相关推荐
乘云数字DATABUFF10 小时前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Patrick_Wilson1 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy1 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭1 天前
运行你的第一个Docker容器
后端·docker·容器
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵3 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1113 天前
LM Studio Docker 部署——本地大模型一键启动
docker