**
记录一次使用docker安装gitlab后的项目clone地址问题解决方案: 可以使用docker-compose代替docker安装
**
问题:
1、gitlab搭建好之后,创建项目的clone地址端口号不正确;
2、docker安装的gitlab通过后续配置解决上述问题后,docker restart gitlab后又还原了(万一服务器需要重启,则需要重新配置);
一、docker搭建gitlab:
1、拉取镜像,时间较长
docker pull gitlab/gitlab-ce
2、创建待挂载目录(如果没有创建,运行容器时会自动创建)
mkdir -p /usr/local/gitlab/{
config,logs,data}
3、没有域名的可以使用服务器IP地址
docker run \
-d \
--privileged=true \
--hostname code.bsapo.com \
-p7001:443 -p7002:80 -p7003:22 \
--name gitlab \
--restart always \
-v /usr/local/gitlab/config:/etc/gitlab -v /usr/local/gitlab/logs:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
不换行(直接复制):
docker run -d --privileged=true --hostname code.bsapo.com -p7001:443 -p7002:80 -p7003:22 --name gitlab --restart always -v /usr/local/gitlab/config:/etc/gitlab -v /usr/local/gitlab/logs:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
4、添加配置:(ssh克隆地址)
echo "gitlab_rails['gitlab_shell_ssh_port'] = 7003" >> /usr/local/gitlab/config/gitlab.rb
docker exec -it gitlab bash
gitlab-ctl reconfigure # 这步时间会有点长
gitlab-ctl restart
发现ssh的clone地址由 ssh://git@code.bsapo.com:front/eee.git
变成了ssh://git@code.bsapo.com:==7003==/front/eee.git
5、然后修改http的clone地址
vi /usr/local/gitlab/data/gitlab-rails/etc/gitlab.yml
修改如下:
docker exec -it gitlab bash
gilab-ctl restart # 直接restart即可,这里不能reconfigure,否则很可能会导致无法启动;
==OK大功告成!但是:
如果以后服务器需要重启,此配置会还原,那么就需要这样手动修改http的clone地址了,非常麻烦;==
二、docker-compose 搭建gitlab:
mkdir /usr/local/gitlab
cd /usr/local/gitlab
touch docker-compose.yml # 内容如下
version: '3'
services:
gitlab:
restart: always
image: gitlab/gitlab-ce:latest
container_name: gitlab
hostname: 'code.bsapo.com' # 也可以使用IP地址
privileged: true
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
gitlab_rails['time_zone'] = 'Asia/Shanghai'
external_url 'http://code.bsapo.com:7002' #http地址
gitlab_rails['gitlab_shell_ssh_port'] = 7003 #ssh地址端口
ports:
- '7001:443'
- '7002:7002' # 注意这里不是80 与上面external_url自定义端口保持一致
- '7003:22'
volumes: # 宿主机地址若没有,会自动创建目录
- /usr/local/gitlab/mount/config:/etc/gitlab
- /usr/local/gitlab/mount/log:/var/log/gitlab
- /usr/local/gitlab/mount/data:/var/opt/gitlab
在当前目录下执行:
docker-compose up -d
大概一两分钟后,状态就会变为:healthy
启动后创建项目,检查地址:
docker restart gitlab 之后,地址依然正常!