# docker 安装,gitlab镜像拉取步骤跳过
1. 更改默认端口问题导致git clone生成项目链接不含端口号
docker 拉取镜像之后,后台启动运行gitlab,这里采用的是中文汉化镜像,建议使用社区镜像,原汁原味更好.
docker run \
--hostname 172.0.1.46 \
--detach \
--publish 8443:443 \
--publish 8090:80 \
-p 10085:22 \
--name gitlab \
--restart unless-stopped \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
# 修复问题
创建工程后,生成的git url不含端口号,例如:http://172.0.1.46/front-dev/label-system.git
直接修改宿主机的配置文件: /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
该文件映射到docker容器内部的: /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 172.0.1.46
port: 8090
https: false
保存,然后进入容器重启gitlab就行了
gitlab-ctl restart
# 注意:此处只重启gitlab,而不是重启容器,重启容器会导致配置文件失效,毕竟这个文件是自动生成的
官方默认配置,直接在/etc/gitlab/gitlab.rb中配置 external_url会导致无法访问,这个可能是个小bug.
# 不推荐
# external_url 'http://172.0.1.46:8090/'
2. 修复时区错误问题:
默认情况下提交的代码会显示成几年前
在gitlab.rb中配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
重启 : gitlab-ctl restart
这个配置好像第二天才生效