利用GitLab Docker images安装GitLab(填坑)

使用 docker 创建 gitlab,

docker run --detach -p 8443:443 -p 8090:80 -p 8022:22 --name gitlab -e TZ=Asia/Shanghai --restart always --restart=unless-stopped -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true beginor/gitlab-ce

在使用中,创建 项目,项目的checkout 时一个 自定义 的 一个域名

修改 /data/gitlab/etc/gitlab.rb 

添加 

external_url 'http://192.168.x.x:8090'

重新启动 无法 访问到

http://192.168.x.x:8090/

在不修改之前 是可以访问到这个路径的,

找了半天解决方案,最终 找到 这个文章 =========>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

作者在Docker笔记(持续更新)提到如何在Docker中安装GitLab,在此存在一个坑,作者觉得很有必要单开一篇文章单独将(希望让其他小伙伴能够通过标题搜到这篇文章,减少弯路)
想必看到这篇文章的伙伴存在一个疑惑,为什么我在external_url设置ip+port却无法访问到GitLab,如果直接设置成ip地址在项目的checkout地址一栏,其git地址却不包含端口号,导致http的checkout地址不可用。

image.png


问题的原因就出在external_url地址设置上。
GitLab默认的http访问端口号为80端口,如果想更改端口号,一般是通过docker run时设置端口映射,将80端口映射为其他端口。例如:

 

 

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 8443:443 --publish 8080:80 --publish 8022:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest  

这里将GitLab的http端口改为8080,如果你这时修改external_url地址为http://ip:8080,那GitLab肯定访问不了,因为你已经将内部的端口号修改为8080端口了,而你通过docker run映射出来的端口号是80端口,所以不可能访问到。那该怎么办?
既然你已经将内部的端口号由80端口改为8080端口,这时候你就将容器停止并删除,但是不要将映射的配置文件删除(gitlab.rb文件),docker在删除容器的时候不会将映射的文件删除。在此运行docker run命令,如下

 

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 8443:443 --publish 8080:8080 --publish 8022:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest  

注意这里映射的端口为8080端口,根据自己设置的external_url端口号进行调整

接下来就能访问GitLab了,并且在checkout检出地址栏中,http地址端口号也正确了



作者:questionuncle
链接:https://www.jianshu.com/p/d707f70c60d2
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最终 修改的

docker run --detach -p 8443:443 -p 8090:8090 -p 8022:22 --name gitlab -e TZ=Asia/Shanghai --restart always --restart=unless-stopped -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true beginor/gitlab-ce

解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值