0、官方文档

详细请参考官方文档:https://docs.gitlab.com/ee/install/docker.html

1、拉取gitlab社区版

gitlab-ee是企业版,我们拉取社区版gitlab-ce,命令如下:

docker pull gitlab/gitlab-ce

2、volumes挂载规划

  • 配置其他内容之前要配置一个环境变量$GITLAB_HOME,用来指定logs、config、data等持久化数据的存储路径
    export GITLAB_HOME=/srv/gitlab
    
  • 然后规划挂载点的路径
    本地路径容器路径作用
    $GITLAB_HOME/data/var/opt/gitlab保存应用数据
    $GITLAB_HOME/logs/var/log/gitlab保存日志
    $GITLAB_HOME/config/etc/gitlab保存gitlab的配置文件

3、使用docker部署

在2中配置完GITLAB_HOME后,运行以下命令。下面这条命令是主机中端口未被占用,主机映射的端口跟容器内端口一致,使用以下启动,一会就会成功。如果主机端口映射需要改变,可以参考4。

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22: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 256m \
  gitlab/gitlab-ce:latest

参数解析:

  • --detach 后台运行容器
  • --hostname 设置容器的主机名
  • --publish 配置主机和容器的端口映射
  • --name 配置容器的名称
  • --restart 配置重启策略
  • --volume 配置文件挂载
  • --shm-size 配置/dev/shm的大小

启动时间较长,可以通过以下命令查看启动情况:

docker logs -f gitlab

启动后成功后在浏览器上访问:http://192.168.171.59(地址是你主机的ip),如果正常显示登录页面表明安装成功。你需要使用以下命令获取管理员root账号的登录密码:

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

4、使用docker-compose部署

你也可以使用docker-compose来启动。首先,创建一个docker-compose.yml文件

version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.171.59'
        gitlab_rails['gitlab_shell_ssh_port'] = 4522
    ports:
      - '4511:80'
      - '4522:22'
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'

配置文件解析:

  • image 配置docker镜像;restart 设置启动规则;hostname 配置容器主机名;ports 配置映射端口;volumes 配置挂载目录,按照2中规划的进行配置即可
  • environment 配置环境变量
    • external_url 中的地址为:http://ip:容器内的端口,如果ports映射为:8929:8929,那么此处要改为http://192.168.171.59:8929
    • gitlab_rails['gitlab_shell_ssh_port'] 此处为主机映射的端口

配置完,使用以下命令进行启动:

docker-compose up -d

浏览器访问:http://192.168.171.59:4511


至此,成功!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐