docker迁移容器
-
将容器保存为镜像
shelldocker commit container-id image-name
-
将保存好的镜像打包(保存到/path文件夹)
shelldocker save image-name > /path/image-name.tar
-
将打包好的镜像迁移到新服务器,新服务器执行如下命令
shellscp -P 22 username@旧服务器IP地址:/旧服务器路径/image-name.tar /opt # /opt为新服务器需要放的文件见
- -P : 指定SSH的端口 默认为22
-
新服务器执行命令创建镜像
sheLlcat /opt/image-name.tar | docker load
-
新服务器执行docker run创建容器,注意挂载得到数据卷和映射的的端口都不能少
shelldocker run -d --name gitlab \ --restart=always \ -p 8022:22 \ -p 9999:9999 \ -p 8443:443 \ -v /opt/gitlabDocker/etc:/etc/gitlab \ -v /opt/gitlabDocker/log:/var/log/gitlab \ -v /opt/gitlabDocker/data:/var/opt/gitlab \ gitlab121
-
打包旧服务器挂载的数据卷
shelltar -czvf foldername.tar.gz /path/to/foldername
-
将打包的数据卷迁移到新服务器,新服务器执行如下命令
shellscp -P 22 username@旧服务器IP地址:/root/gitlabVolume.tar.gz /opt
-
新服务器解压传过来的压缩包
shelltar -zxvf yourfile.tar.gz -C /your/target/directory
-
替换掉新服务器挂载的目录的数据
-
重启容器