使用 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。