1.最开始使用如下 yml 进行 gitlab的安装:

root@ecs:/data/xxx/gitlab# cat docker-compose.yml 
version: '3.8'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: '192.168.0.5'  # 修改为你自己的域名或 IP
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url '192.168.0.5'  # 如果使用 HTTPS,请改为 https://...
        # 可选:配置 SSH 端口(如果 22 被占用)
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - '9099:80'        # HTTP
      - '9443:443'      # HTTPS(可选)
      - '9222:22'      # SSH 映射(容器内 22 → 主机 2222)
    volumes:
      - './gitlab/config:/etc/gitlab'
      - './gitlab/logs:/var/log/gitlab'
      - './gitlab/data:/var/opt/gitlab'
    shm_size: '256m'   # 避免因共享内存不足导致的问题

2.安装完后发现 gitlab 页面的代码下载地址少了 9099 端口,因此修改了 external_url ,如下:

root@ecs:/data/xxx/gitlab# cat docker-compose.yml 
version: '3.8'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: '192.168.0.5'  # 修改为你自己的域名或 IP
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url '192.168.0.5:9099'  # 如果使用 HTTPS,请改为 https://...
        # 可选:配置 SSH 端口(如果 22 被占用)
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - '9099:80'        # HTTP
      - '9443:443'      # HTTPS(可选)
      - '9222:22'      # SSH 映射(容器内 22 → 主机 2222)
    volumes:
      - './gitlab/config:/etc/gitlab'
      - './gitlab/logs:/var/log/gitlab'
      - './gitlab/data:/var/opt/gitlab'
    shm_size: '256m'   # 避免因共享内存不足导致的问题

修改完重启 gitlab 后,发现 gitlab 无法访问了。

3.最终配置:

        在上面的基础上还需要修改容器内 nginx 的监听端口为 9099,并且修改容器内外的端口映射,最终配置如下:

root@ecs:/data/xxx/gitlab# cat docker-compose.yml 
version: '3.8'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: '192.168.0.5'  # 修改为你自己的域名或 IP
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.0.5:9099'  # 如果使用 HTTPS,请改为 https://...
        # 添加容器内 nginx 的监听端口
        nginx['listen_port'] = 9099
        # 可选:配置 SSH 端口(如果 22 被占用)
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      # 修改容器内外端口映射
      - '9099:9099'        # HTTP
      - '9443:443'      # HTTPS(可选)
      - '9222:22'      # SSH 映射(容器内 22 → 主机 2222)
    volumes:
      - './gitlab/config:/etc/gitlab'
      - './gitlab/logs:/var/log/gitlab'
      - './gitlab/data:/var/opt/gitlab'
    shm_size: '256m'   # 避免因共享内存不足导致的问题

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐