docker部署gitlab
这个比较简单,一个命令搞定,注意你所部署的版本,默认就是latest如果需要其他的版本记得加tag
docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
修改config/gitlab.rb文件
external_url 'http://angelababa/'
这个参数记得修改,你的gitlab以通过什么url访问这里就写什么,否则它在容器里运行会把一个字符串当做启动url,可能是容器的id,那样你在用的时候很多页面打不开,像是用户主页啊,头像啊什么的都不行
备份
首先进入我们需要备份的gitlab所在的docker容器,执行备份命令
gitlab-rake gitlab:backup:create
完成以后可以在/var/opt/gitlab/backups目录下看到创建了一个名称类似为1586587163_2020_04_11_11.11.3_gitlab_backup.tar的压缩包,然后我们把他复制到需要恢复备份的gitlab所在的容器里,因为上面我们部署的时候已经把gitlab目录映射出来了,所以直接复制到/data/gitlab/backups目录里就好了
恢复
首先,一定要注意恢复备份一定要保证新gitlab服务器版本与就gitlab服务器版本完全一致
进入要恢复备份的gitlab所在容器,然后执行命令
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
chmod 777 /var/opt/gitlab/backups/1586587163_2020_04_11_11.11.3_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1586587163_2020_04_11_11.11.3
然后就是重启容器,这个时候注意看着点容器的日志,如果提示有错误,让更新权限并重启,按照提示执行一下命令就好
docker exec -it gitlab update-permissions
docker restart gitlab
升级
这个就比较简单了,只需要删掉现在老的gitlab容器,拉取新镜像,启动就可以了,但是启动以后需要看着点容器的日志,可能还会提示需要更新权限并重启,再次执行上面的那两个命令就好了,时间可能会比较长,10多分钟吧,耐心的等
题外话
- 安装之前最好把系统内核升级一下,操作方法可以参考centos7 升级内核
- 如果系统是全新系统可能还会有一些其他的错误,比方说文件句柄数的限制,可以这样修改一下
系统级打开最大文件句柄的数量永久生效的修改方法,修改文件,文件末尾加入配置内容:
vim /etc/sysctl.conf
fs.file-max = 2000000
然后执行命令,使修改配置立即生效:
sysctl -p