使用 docker 安装 gitlab
Gitlab 作为开源的 git 代码仓库,功能强大,使用起来非常方便。本文讲述如何使用 docker 来安装 gitlab。
本文假定已安装好 docker,可以输入 docker --version 来验证是否已正常安装,输出:
Docker version 19.03.5, build 633a0ea
使用 docker run 命令安装
为方便安装,我们先拉取最新版本的 gitlab 社区版本镜像:
1  | docker pull gitlab/gitlab-ce:latest  | 
然后,使用 docker run 运行 gitlab:
1  | docker run --detach \  | 
docker run 命令使用了多个参数,这些参数的作用如下:
--detach:后台运行容器--publish:端口映射,容器端口如何映射到宿主机(本文指我们的 Mac 电脑)端口--name:指定容器的名称,这里我们指定容器名称为gitlab--restart always:设置当宿主机重启后,容器也会重启--volume:这里使用 bind mount 的方式,设置 gitlab 容器的数据保存在目录/Users/lihao/code/docker/gitlab-ce/下
有关 docker volume 的使用,可以参考文章 《Docker 数据持久化》。
Gitlab 容器使用 bind mount 方式以持久化的数据如下表:
| 本地目录 | 容器目录 | 用途 | 
|---|---|---|
/Users/lihao/code/docker/gitlab-ce/config | 
/etc/gitlab | 
保存 gitlab 配置 | 
/Users/lihao/code/docker/gitlab-ce/logs | 
/var/log/gitlab | 
保存 gitlab 输出日志 | 
/Users/lihao/code/docker/gitlab-ce/data | 
/var/opt/gitlab | 
保存 gitlab 应用数据 | 
执行上面的 docker run 命令后,我们再转回到本地的目录 /Users/lihao/code/docker/gitlab-ce/config,打开文件 gitlab.rb ,并修改 external_url 为 http://127.0.0.1 ,以便于可以使用地址 http://127.0.0.1 访问 gitlab。
然后,再执行命令重启 gitlab。
1  | docker restart gitlab  | 
启动 gitlab 容器过程中,可以使用命令来查看启动过程的日志输出。
1  | docker logs -f gitlab  | 
打开浏览器,输入地址 http://127.0.0.1/,更新密码,并使用 root 用户名登录,可以看到 gitlab 已可以正常访问。
使用 docker-compose 安装
使用 docker-compose 可以更方便配置、安装 gitlab。安装 gitlab 的 docker-compose.yml 文件如下:
1  | version: '3'  | 
可以看到,docker-compose.yml 文件的参数与上述 docker run 命令的参数相似。为了方便配置 gitlab 的 external_url 配置,我们通过直接指定环境变量 GITLAB_OMNIBUS_CONFIG 的方式实现。
另外,为了与上面安装的 gitlab 数据不冲突,我们使用了本地另一个目录来保存容器的数据。
关闭上面启动的 gitlab 容器,然后在 docker-compose.yml 文件所在目录,执行以下命令:
1  | docker-compose up -d  | 
等待执行一段时间以后(笔者在安装 gitlab 过程中,发现执行命令后马上访问 gitlab 会报 502 错误,等待一段时间又好了),打开浏览器,输入地址,同时可以正常访问 gitlab。