docker 一旦生成容器,无法修改
解决方案:
- 保存容器为镜像
- 备份gitlab,重新生成容器
本次采取方案2。
开始备份
- 进入容器
docker exec -it gitlab bash
复制代码
- 生成备份
gitlab-rake gitlab:backup:create
复制代码
- 退出容器,拷贝备份
docker cp gitlab:/var/opt/gitlab/backups/1625645210_2021_07_07_13.11.3_gitlab_backup.tar /User/mac
复制代码
查看容器生成指令
- 下载runlike
pip install runlike
复制代码
- 查看指令
runlike -p gitlab
复制代码
- 复制后,修改指令端口
docker run \
--name=gitlab \
......
......
复制代码
重新生成容器
- 备份容器后,删除
2. 使用修改后的指令
docker run \
--name=gitlab \
......
......
复制代码
恢复备份
- 进入容器
docker exec -it gitlab bash
复制代码
- 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
复制代码
- 修改权限,如果是从本服务器恢复可以不修改
chmod 777 /var/opt/gitlab/backups/1625645210_2021_07_07_13.11.3_gitlab_backup.tar
复制代码
- 根据编号恢复
gitlab-rake gitlab:backup:restore BACKUP=1625645210_2021_07_07_13.11.3
复制代码
- 按照提示输入两次yes并回车
- 重启docker,浏览器访问新服务器的地址进行查看,迁移成功
总结
其实直接使用方案1是比较安全的,因为方案2,备份恢复有可能失败。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END