需求:[使用 docker 部署 gitlab 之后,数据迁移的问题]
背景
公司内网采用Docker部署的Gitlab托管平台,需要从192.168.2.217迁移到192.168.2.250
方案: save\load方式
第一步:将容器提交为镜像
docker commit [旧镜像ID] [新镜像:标签]
第二步:将镜像save到本地
docker save -o gitlab_sun.tar 新镜像ID
第三步:通过Scp命令将镜像穿到250机器,load 加载
docker load -i gitlab_sun.tar
第四步:将持久化的数据目录拷贝到250,启动容器
docker run \
--detach \
--publish 8443:443 \
--publish 8444:80 \
--name gitlab \
--restart unless-stopped \
--volume /mnt/gitlab/etc:/etc/gitlab \
--volume /mnt/gitlab/log:/var/log/gitlab \
--volume /mnt/gitlab/data:/var/opt/gitlab \
新镜像ID
问题:
启动后,报权限不允许
解决
操作:更新权限
docker exec -it gitlab update-permissions
docker restart gitlab
依旧没有启动成功,查看日志
在之前的服务器查看目录权限
新服务器进入容器,修改目录权限
chown -R gitlab-prometheus:gitlab-prometheus /data
再次重启后,成功运行