Mac 备份解决 docker 无法修改 gitlab 端口号

491 阅读1分钟

docker 一旦生成容器,无法修改

image.png

解决方案:

  1. 保存容器为镜像
  2. 备份gitlab,重新生成容器 本次采取方案2。

开始备份

  1. 进入容器
docker exec -it gitlab bash
  1. 生成备份
gitlab-rake gitlab:backup:create
  1. 退出容器,拷贝备份
docker cp gitlab:/var/opt/gitlab/backups/1625645210_2021_07_07_13.11.3_gitlab_backup.tar /User/mac

查看容器生成指令

  1. 下载runlike
pip install runlike
  1. 查看指令
runlike -p gitlab
  1. 复制后,修改指令端口
docker run \
	--name=gitlab \
        ......
        ......

重新生成容器

  1. 备份容器后,删除 image.png
  2. 使用修改后的指令
docker run \
	--name=gitlab \
        ......
        ......

恢复备份

  1. 进入容器
docker exec -it gitlab bash

  1. 停止相关数据连接服务
gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

  1. 修改权限,如果是从本服务器恢复可以不修改
chmod 777 /var/opt/gitlab/backups/1625645210_2021_07_07_13.11.3_gitlab_backup.tar 
  1. 根据编号恢复
gitlab-rake gitlab:backup:restore BACKUP=1625645210_2021_07_07_13.11.3
  1. 按照提示输入两次yes并回车

image.png

  1. 重启docker,浏览器访问新服务器的地址进行查看,迁移成功

image.png

总结

其实直接使用方案1是比较安全的,因为方案2,备份恢复有可能失败。