ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

把docker的镜像文件从一台服务器中,迁移至另一台服务器 准备目录我这里是/home/DockerImagesBackups/1. 导出镜像我想处理的docker镜像“delron/fastdfs ”、“tomcat”、“mysql”下载镜像dockersave-o/data/backup/fastdfs.tar delron/fastdfs:latestdockersave-o/data/backup/tomcat.tar tomcat:9.0.73-jdk8-corretto-al2dockersave-o/data/backup/mysql.tar mysql:8.0.32下载镜像-例子1# 查看镜像C:\Users\Administratordocker images REPOSITORY TAG IMAGE ID CREATED SIZE gitea/gitea1.26.4 028a5a3457192weeks ago 173MB mcr.microsoft.com/mssql/server2022-latest 88ac6849d0a12months ago1.67GB mcr.microsoft.com/dotnet/aspnet8.0c4a18dfeca5e8months ago 218MB mcr.microsoft.com/dotnet/samples aspnetapp f72fb860597d8months ago 135MB btpanel/baota latest 0a6f1b58025219months ago1.71GB nginx latest 5ef79149e0ec23months ago 188MB tomcat latest c2a444ea6cd723months ago 508MB redis latest dae83f665c9223months ago 117MB mysql latest 7ce93a845a8a23months ago 586MB tomcat9.0.73-jdk8-corretto-al2 5b5414c0bbbb3years ago 382MB ruoyiadmin latest 47dae0ecd6da3years ago 526MB tomcat8.5.46-jdk8-openjdk 8973f493aa0a6years ago 508MB delron/fastdfs latest 8487e86fc6ee8years ago 464MB# 把镜像导出到指定位置C:\Users\Administratordocker save-oD:\软件\Docker\DockerImagesBackups\mssql2022.tarmcr.microsoft.com/mssql/server:2022-latest2. 直接把目标目录授权给 yourName一劳永逸这里的授权是给你目前登录的用户如果你上传报错执行该操作# 1. 用 sudo 创建目录如果还不存在sudomkdir-p/data/DockerImagesBackups# 2. 把该目录的所有权改为 yourName这样你就能随意拖拽上传了sudochownyourName:yourName /data/DockerImagesBackups改完权限后不需要重启 MobaXterm直接在左侧 SFTP 面板里重新进入/data/DockerImagesBackups再次拖拽上传fastdfs2018.tar就不会报错了。进入到指定目录ls-lh/data/DockerImagesBackups/命令运行结果ls-lh/data/DockerImagesBackups/ total1.5G -rw-rw-r--1yourName yourName 456M Jul513:02 fastdfs2018.tar -rw-rw-r--1yourName yourName 166M Jul513:02 gitea1.26.4.tar -rw-rw-r--1yourName yourName 520M Jul513:03 mysql8.0.32.tar -rw-rw-r--1yourName yourName 372M Jul513:04 tomcat9.0.73-jdk8.tar确认当前用户有 Docker 操作权限如果你的用户 yourName 已经在 docker 用户组中则不需要 sudo直接运行即可。如果不在需要加 sudo 执行或先将自己加入 docker 组然后重新登录。快速检查是否在 docker 组groupsyourName命令运行结果:~$groupsyourName yourName: yourName adm cdromsudodip plugdevuserslxddocker如果输出中包含 docker则无权限问题。否则执行sudousermod-aGdockeryourName然后注销并重新登录或重启终端使权限生效。3. 执行上传镜像命令运行结果~$dockerload-i/data/DockerImagesBackups/fastdfs2018.tar Loaded image: delron/fastdfs:latest :~$dockerload-i/data/DockerImagesBackups/tomcat9.0.73-jdk8.tar Loaded image: tomcat:9.0.73-jdk8-corretto-al2 :~$dockerload-i/data/DockerImagesBackups/mysql8.0.32.tar Loaded image: mysql:8.0.32 :~$dockerload-i/data/DockerImagesBackups/gitea1.26.4.tar Loaded image: gitea/gitea:1.26.44. 查看镜像是否上传成功:~$dockerimages 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 8e756150209e1.12GB 545MB tomcat:9.0.73-jdk8-corretto-al2 0664c240b665 799MB 390MB延伸阅读 - 安装镜像/初始化容器运行容器带 --restartalways 确保随系统启动一定要注意挂载目录以及目录结构:~$dockerimages 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 8e756150209e1.12GB 545MB U redis:latest 9ae6ef44c08e 248MB 120MB tomcat:9.0.73-jdk8-corretto-al2 0664c240b665 799MB 390MBmysql 安装dockerrun-d--namemysql--restartalways-p3306: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-eMYSQL_ROOT_PASSWORDroot mysql:8.0.32redis 安装dockerrun-d--nameredis--restartalways-p6379: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.confredis.conf文件内容# 设置数据库数量为 50databases50# 设置密码requirepass redis123# 持久化配置可选建议开启save9001save30010save6010000appendonlyyesappendfilenameappendonly.aofgitea安装dockerrun-d--namegitea--restartalways-p3000:3000-p2222:22-v/data/DockerContainers/gitea1.26.4/data:/data gitea/gitea:1.26.4
返回列表