前言
Docker 环境下官方提供三种方式安装 Gitlab,第一种是基于 Docker 引擎安装,第二种是集群环境下安装,第三种是通过 Docker-Compose 安装。本文将介绍如何通过 Docker-Compose 安装 Gitlab,如果需要 Docker 官方安装 Gitlab 的教程,可点击这里 。
安装 Docker
站内教程:Docker 之一 Docker 介绍与安装
安装 Docker-Compose
站内教程:Docker 之十七 Docker-Compose 安装与使用
Gitlab 数据卷挂载介绍
创建 Docker-Compose 配置文件,使用默认端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # mkidr -p /usr/local /gitlab# vim /usr/local /gitlab/docker-compose.ymlweb: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.example.com' ports: - '80:80' - '443:443' - '22:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
创建 Docker-Compose 配置文件,在 Docker 容器内使用自定义端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # mkidr -p /usr/local /gitlab# vim /usr/local /gitlab/docker-compose.ymlweb: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | nginx['listen_port' ] = 9090 external_url 'http://gitlab.example.com:9090' gitlab_rails['gitlab_shell_ssh_port' ] = 2224 ports: - '9090:9090' - '2224:2224' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
Docker-Compose 安装 Gitlab
1 2 3 4 5 6 7 8 9 10 11 12 13 # cd /usr/local /gitlab# docker -compose pull# docker -compose up -d # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 23a12382baff gitlab/gitlab-ce:latest "/assets/wrapper" 4 minutes ago Up 4 minutes (healthy) 22/tcp, 80/tcp, 0.0.0.0:2224->2224/tcp, 443/tcp, 0.0.0.0:9090->9090/tcp gitlab_web_1
测试访问 Gitlab
启动 Gitlab 容器后,稍等三四分钟然后在浏览器输入以下地址访问 Gitlab 的 Web 页面: http://127.0.0.1 或者 http://127.0.0.1:9090
安装后配置 Gitlab
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # cd /usr/local /gitlab# vim docker-compose.ymlenvironment: GITLAB_OMNIBUS_CONFIG: | nginx['listen_port' ] = 9090 ....(省略) # docker -compose stop# docker -compose down# docker -compose up -d
安装后更新、升级 Gitlab
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # cd /usr/local /gitlab# docker -compose stop# vim docker-compose.ymlweb: image: 'gitlab/gitlab-ce:latest' restart: always ....(省略) # docker -compose pull# docker -compose up -d
注意事项
为了以后方便更新 Gitlab 镜像,同时更好地处理更新镜像带来的向前兼容问题,建议首次安装或者更新 Gitlab 的时候,直接指定具体需要安装的版本号,而不是直接使用 latest 版本号。Gitlab-CE 的版本号可以从这里 获取。
1 2 3 4 5 6 # vim /usr/local /gitlab/docker-compose.ymlweb: image: 'gitlab/gitlab-ce:11.7.5-ce.0' restart: always ....(省略)