设置卷位置
在设置其他所有内容之前,请配置一个新的环境变量 $GITLAB_HOME,指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限。
对于 Linux 用户,将路径设置为 /srv/gitlab:
export GITLAB_HOME=/srv/gitlab
极狐GitLab 容器使用主机装载的卷来存储持久数据:
本地位置 容器位置 使用
$GITLAB_HOME/data /var/opt/gitlab 用于存储应用程序数据。
$GITLAB_HOME/logs /var/log/gitlab 用于存储日志。
$GITLAB_HOME/config /etc/gitlab 用于存储极狐GitLab 配置文件。
使用 Docker Engine 安装极狐GitLab
您可以微调这些目录以满足您的要求。 一旦设置了 GITLAB_HOME 变量,您就可以运行镜像:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 6443:443 --publish 8080:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
registry.gitlab.cn/omnibus/gitlab-jh:latest
注意:
如果要启用ssh的方式拉取git代码,则需要新增宿主机的ssh其他端口,然后把22端口提供给gitlab容器使用。
443端口如果只有一台机器的话需要更改其他端口,避免后期占用了nginx的443端口使用。
80端口因为let’s encrypt程序会占用80端口进行ssl 证书创建和后期证书的续期使用,所以容器向宿主机的80端口最好更改为其他端口。
启动容器后,就可以访问 gitlab.example.com了。
访问极狐GitLab URL,并使用用户名 root 和来自以下命令的密码登录:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
注意:
密码文件将在 24 小时后的第一次重新配置运行中自动删除。
创建数据库备份
如果遇到问题,需要数据库备份来回滚极狐GitLab 升级。
docker exec -t <container name> gitlab-backup create SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state
备份被写入 /var/opt/gitlab/backups,它应该在 Docker 挂载的卷上。
遇到的问题:
1.gitlab设置项目clone地址
因为一开始域名是注入到docker运行命令里面的,中途之前的域名因为突发的原因竟然过期无法续费了。在gitlab更换域名后发现clone地址竟然还是原来的域名无法更改,在这期间尝试在gitlab.rb的配置文件中增加新域名的url,在gitlab.yml配置文件中的host里面更换指定的新域名,然而无论是重启docker容器还是gitlab-ctl restart都发现无法生效。然后也试了销毁现有容器,以新的域名重新拉起容器,发现用户登录失败,原先的账号体系崩溃,就在抓耳挠腮的时候竟然发现在gitlab的管理员界面竟然可以直接更改clone的url地址。
直接在线修改地址:
点击保存,问题解决😂
评论区