docker 部署 gitlab

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

1、准备 docker 环境

2、以下部署脚本保存到 docker-compose.yml 文件中,该文件建议放在专用目录下。

version: '3.5'
services:

  gitlab-ce:
    image: gitlab/gitlab-ce:13.1.2-ce.0
    container_name: gitlab-ce
    restart: unless-stopped
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://git.domain.com:88'
        nginx['listen_port'] = 80
    ports:
      - 88:80
    volumes:
      - ./config:/etc/gitlab
      - ./log:/var/log/gitlab
      - ./data:/var/opt/gitlab

考虑到部署在反向代理后面,添加了环境配置:
容器内使用 80 端口,映射出来任意端口后,通过反向代理转发出去。
同时让 external_url 使用访问反向代理时的地址,实现内外统一。

3、在专用目录中执行 docker-compose up -d

4、常用命令

  • 备份数据 docker exec -t <your container name> gitlab-backup
  • 恢复数据 docker exec -it <name of container> gitlab-backup restore docker exec -it <name of container> gitlab-backup restore BACKUP=1562751885_2019_07_10_11.10.2
  • 更新配置 docker exec -t <your container name> gitlab-ctl reconfigure