CentOS Docker中安装gitlab
获取gitlab镜像包
Ruby 全选
docker pull gitlab/gitlab-ce如果提示无法访问:
PowerShell 全选
[root@localhost ~]# docker pull gitlab/gitlab-ce
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 69.63.176.143:443: i/o timeout (Client.Timeout exceeded while awaiting headers)
[root@localhost ~]# 就配置毫秒镜像
启动容器
Markup 全选
docker run -itd -p 8080:80 -p 8022:22 -v /opt/gitlab/etc:/etc/gitlab -v /opt/gitlab/log:/var/log/gitlab -v /opt/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce
Docker Compose启动
Markup 全选
version: '3'
services:
gitlab:
container_name: gitlab
image: gitlab/gitlab-ce
restart: always
privileged: true
ports:
- 8020:80
- 8443:443
- 8022:22
volumes:
- /data/gitlab/etc:/etc/gitlab # 映射文件路径
- /data/gitlab/log:/var/log/gitlab
- /data/gitlab/opt:/var/opt/gitlab
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
添加防火墙
Markup 全选
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=8022/tcp
// 重载防火墙规则
firewall-cmd --reload
查询初始密码
系统第一次安装,需要用命令查看初始的root密码:
进入docker容器中,运行如下命令
Markup 全选
vi /etc/gitlab/initial_root_password 
root密码重置
https://www.yesdotnet.com/archive/post/624808809848837.html
禁止注册
进入管理员设置 Settings → General Sing-up restrictions设置 ,取消勾选 Sign-up enabled

修改域名
编辑/etc/gitlab/gitlab.rb文件,找到并修改以下配置项:
Markup 全选
external_url 'https://gitlab.***.com'
由于配置了https,ssl证书也是由外部nginx处理的,所以还需要一下配置
Markup 全选
# 关键配置:让容器内部只听 HTTP (80端口)
nginx['listen_port'] = 80
nginx['listen_https'] = false
# 允许从反向代理获取协议头
nginx['proxy_set_headers'] = {
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
修改完配置文件后,需要重新配置GitLab以使更改生效
容器内执行命令
Markup 全选
gitlab-ctl reconfigure命令执行完成后,重启容器,
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 张国生


