使用 docker 安装 gitlab

Gitlab 作为开源的 git 代码仓库,功能强大,使用起来非常方便。本文讲述如何使用 docker 来安装 gitlab。

本文假定已安装好 docker,可以输入 docker --version 来验证是否已正常安装,输出:

Docker version 19.03.5, build 633a0ea

使用 docker run 命令安装

为方便安装,我们先拉取最新版本的 gitlab 社区版本镜像:

docker pull gitlab/gitlab-ce:latest

然后,使用 docker run 运行 gitlab:

docker run --detach \
  --hostname 127.0.0.1 \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /Users/lihao/code/docker/gitlab-ce/config:/etc/gitlab \
  --volume /Users/lihao/code/docker/gitlab-ce/logs:/var/log/gitlab \
  --volume /Users/lihao/code/docker/gitlab-ce/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

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_urlhttp://127.0.0.1 ,以便于可以使用地址 http://127.0.0.1 访问 gitlab。

然后,再执行命令重启 gitlab。

docker restart gitlab

启动 gitlab 容器过程中,可以使用命令来查看启动过程的日志输出。

docker logs -f gitlab

打开浏览器,输入地址 http://127.0.0.1/,更新密码,并使用 root 用户名登录,可以看到 gitlab 已可以正常访问。

使用 docker-compose 安装

使用 docker-compose 可以更方便配置、安装 gitlab。安装 gitlab 的 docker-compose.yml 文件如下:

version: '3'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: '127.0.0.1'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://127.0.0.1'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - '/Users/lihao/code/docker/gitlab-compose/config:/etc/gitlab'
      - '/Users/lihao/code/docker/gitlab-compose/logs:/var/log/gitlab'
      - '/Users/lihao/code/docker/gitlab-compose/data:/var/opt/gitlab'

可以看到,docker-compose.yml 文件的参数与上述 docker run 命令的参数相似。为了方便配置 gitlab 的 external_url 配置,我们通过直接指定环境变量 GITLAB_OMNIBUS_CONFIG 的方式实现。

另外,为了与上面安装的 gitlab 数据不冲突,我们使用了本地另一个目录来保存容器的数据。

关闭上面启动的 gitlab 容器,然后在 docker-compose.yml 文件所在目录,执行以下命令:

docker-compose up -d

等待执行一段时间以后(笔者在安装 gitlab 过程中,发现执行命令后马上访问 gitlab 会报 502 错误,等待一段时间又好了),打开浏览器,输入地址,同时可以正常访问 gitlab。

参考资料

  • https://docs.gitlab.com/omnibus/docker/
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值