写点什么

在 Gitlab-ce 的 Docker 中使用自定义端口

用户头像
天飞
关注
发布于: 2020 年 05 月 19 日
在Gitlab-ce的Docker中使用自定义端口

在正式环境中,gitlab的容器版,应该使用postgresql,redis,gitlab三个组件,使用标准的80端口,提供稳定且有性能的企业服务。但如果是在测试环境,或是想在一个机器上运行多个服务,则gitlab不一定能使用到标准的80端口,那么,在部署时,需要如何调整配置呢?

一,启动gitlab-ce镜像

在运行过程中,我们将配置,日志,和数据都挂载到了宿主机上,方便接下来的配置更改

docker run -itd \
--publish 8443:443 \
--publish 8180:8180 \
--publish 8022:22 \
--name gitlab \
--restart unless-stopped \
-v /gitlab/etc:/etc/gitlab \
-v /gitlab/log:/var/log/gitlab \
-v /gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

二,修改gitlab.rb文件

这是关键步骤,文件在/gitlab/etc/gitlab.rb,

假设宿主机ip为192.168.1.111,external_url和nginx['listen_port']的端口需要和第一步的映射端口对应。

// 修改如下语句
external_url 'http://192.168.1.111:8180'
# https需要下面这句
# nginx['redirect_http_to_https_port'] = 8180
nginx['listen_port'] = 8180
# 配置8022端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022

三,重启镜像

docker restart gitlab

查看/gitlab/data/gitlab-rails/etc/gitlab.yml文件(这个文件是根据gitlab.rb自动生成的,不要修改,否则会很麻烦),看到port为8180,基本就大功告成!

# 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`.

production: &base
#
# 1. GitLab app settings
# ==========================

## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.1.111
port: 8180
https: false

# The maximum time unicorn/puma can spend on the request. This needs to be smaller than the worker timeout.
# Default is 95% of the worker timeout
max_request_duration_seconds: 57


四,测试

可以看到,git clone里,已带上了自定义的8180端口,搞定!



发布于: 2020 年 05 月 19 日阅读数: 260
用户头像

天飞

关注

少年一段风流事, 只许佳人独自知。 2018.09.06 加入

一枚作运维开发的老码农~

评论 (2 条评论)

发布
用户头像
兄弟,这篇文章内容是不是忘了贴上来?
2020 年 05 月 19 日 16:58
回复
嘿嘿,今天第一次玩呀,
上午在safari上,始终发不了文章,提示数据不存在。
于是,我现在忙完了之后,使用chrome试一下开头,
发现就可以。
现在我编辑完了哈,
也麻烦你给你们同事反馈一下哟。
mac上的safari浏览器,好像infoQ写作平台支持度不太好噢~~~~
展开
2020 年 05 月 19 日 17:02
回复
没有更多了
在Gitlab-ce的Docker中使用自定义端口