服务器崩掉 ,只剩下挂载文件,重现github docker 容器

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 完事 恢复完成

原文地址:https://www.cnblogs.com/xiatc/p/15124572.html