GitLab Docker

版本:14.8.2-ce.0

Docker版本:《Docker安装》

yum install -y docker-ce-19.03.5 docker-ce-cli-19.03.5 containerd.io-1.2.10
GitLab官网文档

1. 设置环境变量 GITLAB_HOME,此变量用来运行容器时设置数据卷位置,不设置也可以。
编辑 /etc/profile 增加
export GITLAB_HOME=/opt/gitlab 
在 /opt/gitlab 下创建三个目录 data、logs、config,分别用来存储数据、日志、配置文件。(可根据需要自行修改)

2. 下载镜像 (ce社区版本)
# docker pull gitlab/gitlab-ce:14.8.2-ce.0
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gitlab/gitlab-ce    14.8.2-ce.0         1deb6171764b        7 weeks ago         2.38GB

3. 运行镜像
docker run --detach \
  --hostname gitlab.example.com \
  --publish 4433:443 --publish 8800:80 --publish 2222:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 4G \
  1deb6171764b
可以看出数据卷挂载位置
宿主主机目录 容器内目录
$GITLAB_HOME/data /var/opt/gitlab
$GITLAB_HOME/logs /var/log/gitlab
$GITLAB_HOME/config /etc/gitlab


4. 默认管理员 root ,获取登录密码(24小时有效)

# docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Password: KFIH5br8GsMDrDOVZWZlVXPTA700nL7WdUeC2SptrRU=


5. 可编辑 $GITLAB_HOME/config/gitlab.rb 设置 external_url 参数("http://"开头)。

external_url 'https://www.gitlab.com'

设置后重启容器

# docker restart gitlab


6. 再使用外部 Nginx 做代理

# gitlab
server {
    listen 443 ssl;
    server_name www.gitlab.com;
root html; index index.html index.htm; ssl_certificate cert/www.gitlab.com.pem;
ssl_certificate_key cert/www.gitlab.com.key;
ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass https://localhost:4433; proxy_set_header X-real-ip $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; add_header X-Frame-Options SAMEORIGIN; } }

再使用外部 Nginx 做代理时注意使用的协议需要和 external_url 相同,以及容器的映射端口。

需要编辑 $GITLAB_HOME/config/gitlab.rb 文件查找 nginx['listen_https'] 

nginx['listen_https'] = 443



转载请指明出处!http://www.miselehe.com/article/view/236