1.挂载文件
data :数据库等文件(项目所在文件)
log:日志文件
etc:配置文件
2. 查看原始镜像版本
12.1.1为版本
3.拉取进行
docker pull gitlab/gitlab-ce:12.1.1-ce.0
4.创建容器
docker run --detach --publish 8443:443 --publish 8080:80 --name gitlab --restart=always -v /home/czc/gitlab/etc/:/etc/gitlab -v /home/czc/gitlab/log/:/var/log/gitlab -v /home/czc/gitlab/data/:/var/opt/gitlab gitlab/gitlab-ce:12.1.1-ce.0
5.更改配置文件
etc/gitlab.rb 更改成挂载机的ip
data/gitlab-rails/etc/gitlab.yml
打开etc 需要切换成root 用户 sudo -s 配置http的ip和端口
6.docker restart gitlab 此时可以打开gitlab页面了 但是数据库还没有回复
7.回复数据
data/backups/ 文件复制到新建的挂载目录下
docker exec -it gitlab /bin/bash 进入容器
8.关掉服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
查看服务 确认是否关闭 :gitlab-ctl status
9.关联数据
gitlab-rake gitlab:backup:restore BACKUP=1608951799_2020_12_26_12.1.1
10.由于数据库报错 说是字符集不匹配 he database was initialized with LC_COLLATE "en_US.UTF-8", which is not rec
安装字符集
apt-get update
apt-get install language-pack-zh-hans
localedef -f UTF-8 -i en_US en_US.UTF-8
查看字符集的命令 locale -a 和locale
11 exit 重启 docker restart gitlab 发现日志中没有权限
docker exec -it gitlab update-permissions
docker restart gitlab
12 完事 恢复完成