把docker的镜像文件从一台服务器中,迁移至另一台服务器

准备目录

我这里是/home/DockerImagesBackups/

1. 导出镜像

我想处理的docker镜像"delron/fastdfs "、"tomcat"、"mysql";

下载镜像

bash 复制代码
docker save -o /data/backup/fastdfs.tar delron/fastdfs:latest
docker save -o /data/backup/tomcat.tar tomcat:9.0.73-jdk8-corretto-al2
docker save -o /data/backup/mysql.tar mysql:8.0.32

下载镜像-例子:1

bash 复制代码
# 查看镜像
C:\Users\Administrator>docker images
REPOSITORY                         TAG                        IMAGE ID       CREATED         SIZE
gitea/gitea                        1.26.4                     028a5a345719   2 weeks ago     173MB
mcr.microsoft.com/mssql/server     2022-latest                88ac6849d0a1   2 months ago    1.67GB
mcr.microsoft.com/dotnet/aspnet    8.0                        c4a18dfeca5e   8 months ago    218MB
mcr.microsoft.com/dotnet/samples   aspnetapp                  f72fb860597d   8 months ago    135MB
btpanel/baota                      latest                     0a6f1b580252   19 months ago   1.71GB
nginx                              latest                     5ef79149e0ec   23 months ago   188MB
tomcat                             latest                     c2a444ea6cd7   23 months ago   508MB
redis                              latest                     dae83f665c92   23 months ago   117MB
mysql                              latest                     7ce93a845a8a   23 months ago   586MB
tomcat                             9.0.73-jdk8-corretto-al2   5b5414c0bbbb   3 years ago     382MB
ruoyiadmin                         latest                     47dae0ecd6da   3 years ago     526MB
tomcat                             8.5.46-jdk8-openjdk        8973f493aa0a   6 years ago     508MB
delron/fastdfs                     latest                     8487e86fc6ee   8 years ago     464MB
# 把镜像导出到指定位置
C:\Users\Administrator>docker save -o "D:\软件\Docker\DockerImagesBackups\mssql2022.tar" mcr.microsoft.com/mssql/server:2022-latest

2. 直接把目标目录授权给 yourName(一劳永逸)

这里的授权是给你目前登录的用户;

如果你上传报错执行该操作

bash 复制代码
# 1. 用 sudo 创建目录(如果还不存在)
sudo mkdir -p /data/DockerImagesBackups

# 2. 把该目录的所有权改为 yourName(这样你就能随意拖拽上传了)
sudo chown yourName:yourName /data/DockerImagesBackups

改完权限后,不需要重启 MobaXterm ,直接在左侧 SFTP 面板里重新进入 /data/DockerImagesBackups,再次拖拽上传 fastdfs2018.tar,就不会报错了。

进入到指定目录

bash 复制代码
 ls -lh /data/DockerImagesBackups/

命令运行结果

bash 复制代码
ls -lh /data/DockerImagesBackups/
total 1.5G
-rw-rw-r-- 1 yourName yourName 456M Jul  5 13:02 fastdfs2018.tar
-rw-rw-r-- 1 yourName yourName 166M Jul  5 13:02 gitea1.26.4.tar
-rw-rw-r-- 1 yourName yourName 520M Jul  5 13:03 mysql8.0.32.tar
-rw-rw-r-- 1 yourName yourName 372M Jul  5 13:04 tomcat9.0.73-jdk8.tar

确认当前用户有 Docker 操作权限

如果你的用户 yourName 已经在 docker 用户组中,则不需要 sudo,直接运行即可。

如果不在,需要加 sudo 执行(或先将自己加入 docker 组,然后重新登录)。

快速检查是否在 docker 组:

bash 复制代码
groups yourName

命令运行结果

bash 复制代码
 :~$ groups yourName
yourName: yourName adm cdrom sudo dip plugdev users lxd docker

如果输出中包含 docker,则无权限问题。否则,执行:

bash 复制代码
sudo usermod -aG docker yourName

然后注销并重新登录(或重启终端)使权限生效。

3. 执行上传镜像

命令运行结果

bash 复制代码
 ~$ docker load -i /data/DockerImagesBackups/fastdfs2018.tar
Loaded image: delron/fastdfs:latest

 :~$ docker load -i /data/DockerImagesBackups/tomcat9.0.73-jdk8.tar
Loaded image: tomcat:9.0.73-jdk8-corretto-al2

 :~$ docker load -i /data/DockerImagesBackups/mysql8.0.32.tar
Loaded image: mysql:8.0.32

 :~$ docker load -i /data/DockerImagesBackups/gitea1.26.4.tar
Loaded image: gitea/gitea:1.26.4

4. 查看镜像是否上传成功

bash 复制代码
:~$ docker images
                                                                                                                                                                 i Info →   U  In Use
IMAGE                             ID             DISK USAGE   CONTENT SIZE   EXTRA
delron/fastdfs:latest             c8f11def1449        980MB          478MB
gitea/gitea:1.26.4                c59f0aad3fc6        349MB          174MB
mysql:8.0.32                      8e756150209e       1.12GB          545MB
tomcat:9.0.73-jdk8-corretto-al2   0664c240b665        799MB          390MB

延伸阅读 - 安装镜像/初始化容器

  • 运行容器(带 --restart=always 确保随系统启动)
  • 一定要注意挂载目录以及目录结构
bash 复制代码
:~$ docker images
IMAGE                             ID             DISK USAGE   CONTENT SIZE   EXTRA
delron/fastdfs:latest             c8f11def1449        980MB          478MB
gitea/gitea:1.26.4                c59f0aad3fc6        349MB          174MB    U
mysql:8.0.32                      8e756150209e       1.12GB          545MB    U
redis:latest                      9ae6ef44c08e        248MB          120MB
tomcat:9.0.73-jdk8-corretto-al2   0664c240b665        799MB          390MB

mysql 安装

bash 复制代码
docker run -d --name mysql --restart=always -p 3306:3306 -v /data/DockerContainers/mysql8.0.32/data:/var/lib/mysql -v /data/DockerContainers/mysql8.0.32/conf.d:/etc/mysql/conf.d -v /data/DockerContainers/mysql8.0.32/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0.32

redis 安装

bash 复制代码
docker run -d --name redis --restart=always  -p 6379:6379  -v /data/DockerContainers/redis/data:/data -v /data/DockerContainers/redis/redis.conf:/usr/local/etc/redis/redis.conf redis:latest redis-server /usr/local/etc/redis/redis.conf

redis.conf文件内容

bash 复制代码
# 设置数据库数量为 50
databases 50

# 设置密码
requirepass redis123

# 持久化配置(可选,建议开启)
save 900 1
save 300 10
save 60 10000
appendonly yes
appendfilename "appendonly.aof" 

gitea安装

bash 复制代码
docker run -d --name gitea --restart=always  -p 3000:3000 -p 2222:22  -v /data/DockerContainers/gitea1.26.4/data:/data gitea/gitea:1.26.4
相关推荐
cui_ruicheng38 分钟前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
Brilliantwxx4 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
ai小陈4 小时前
FramePack图生视频云端部署实战:从单图输入到视频输出的完整流程
服务器·人工智能·安全·ai·音视频·gpu算力
欧米欧5 小时前
Linux基础指令上
linux·运维·服务器
sulikey6 小时前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器
mengge.cloud6 小时前
网络技术基础小白教程
linux·服务器·网络·云计算
严谨的麻辣烫6 小时前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全
treacle田6 小时前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机
shengchanxian17 小时前
2026年9月服务器装配流水线厂家技术测评:对标国标的硬件评判逻辑
运维·服务器·服务器装配流水线厂家
IT大白鼠7 小时前
CentOS 7.9 自建 Yum 源服务器搭建指南
linux·服务器·centos