将容器保存为镜像
docker commit container-id image-name
将保存好的镜像打包(保存到/path文件夹)
docker save image-name > /path/image-name.tar
将打包好的镜像迁移到新服务器,新服务器执行如下命令
scp -P 22 username@旧服务器IP地址:/旧服务器路径/image-name.tar /opt # /opt为新服务器需要放的文件见
新服务器执行命令创建镜像
cat /opt/image-name.tar | docker load
新服务器执行docker run创建容器,注意挂载得到数据卷和映射的的端口都不能少
docker 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
打包旧服务器挂载的数据卷
tar -czvf foldername.tar.gz /path/to/foldername
将打包的数据卷迁移到新服务器,新服务器执行如下命令
scp -P 22 username@旧服务器IP地址:/root/gitlabVolume.tar.gz /opt
新服务器解压传过来的压缩包
tar -zxvf yourfile.tar.gz -C /your/target/directory
替换掉新服务器挂载的目录的数据
重启容器