跳到主要内容

故障诊断

1. 容器启动后无法通过external_url正常访问

此问题需要排查以下:

  1. 服务就绪状态

    docker exec -it csghub-omnibus csghub-ctl status
  2. 端口映射配置

    正常情况下,80 端口的对外映射端口应该改external_url中使用的端口保持一致。

    示例:

    ......
    # Use block scalar style for better readability of complex configs
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    csghub:
    external_url: "http://csghub.example.com"

    # Ports mapping for accessing
    ports:
    - '80:80'

    或者

    # Use block scalar style for better readability of complex configs
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    csghub:
    external_url: "http://csghub.example.com:8080"

    # Ports mapping for accessing
    ports:
    - '8080:80'
  3. external_url解析的地址不能和 Docker 容器网络冲突(即不能使用 localhost, 127.0.0.1, 172.17.0.0/8, 172.21.0.0/8 等地址段)。

  4. 此外不应改在docker-compose.yaml中指定 hostname 参数,如指定不应和 external_url 使用的域名一样。

2. 容器无法启动,启动渲染配置文件出错

此问题多是由于environment.CSGHUB_OMNIBUS_CONFIG中的格式问题,此变量需要传入 YAML 格式的参数,缩进需要严格遵循 YAML 行为规范,尤其不能使用 TAB 制表位进行缩进。

其他问题可以提交反馈

3. 修改端口号映射

目前对外暴露的端口号一共有以下:

服务默认端口用途
Nginx80主访问入口
Git SSH2222代码仓库
Casdoor8000认证中心
CSGShip8001CSGShip 访问入口(EE)
CSGShip-API8002CSGShip-API 访问入口(EE)
MinIO API9000对象存储 API
MinIO Console9001对象存储控制台

💡 说明:启用 TLS 时还需映射 443;容器内 Registry 服务监听 5000,通常仅通过 Nginx 反向代理访问,无需直接对外暴露。

  • 修改 Nginx 端口号

    services:
    ......
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    csghub:
    external_url: "http://csghub.example.com:8080"
    ports:
    - '8080:80' # 仅修改对外端口号
    ......
  • 修改 Git Over SSH 端口号

    services:
    ......
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    gitlab_shell:
    ssh_port: 22222
    ports:
    - '22222:22222' # 修改内外端口号
    ......
  • 修改 Casdoor 端口号

    services:
    ......
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    casdoor:
    listen: "127.0.0.1:8005"
    ports:
    - '8005:8005' # 修改内外端口号
    ......
  • 修改 CSGShip 端口号

    services:
    ......
    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    csgship:
    listen:
    frontend: "127.0.0.1:8006"
    api: "127.0.0.1:8007"
    ports:
    - '8006:8006' # 修改内外端口号
    - '8007:8007' # 修改内外端口号
    ......
  • 修改 Minio 端口号

    services:

    environment:
    CSGHUB_OMNIBUS_CONFIG: |
    csghub:
    external_url: "http://csghub.example.com:8080"
    server:
    s3:
    endpoint: "csghub.example.com:9005"
    internal_endpoint: "127.0.0.1:9000"
    portal:
    s3:
    endpoint: "csghub.example.com:9005"
    registry:
    storage:
    s3:
    region_endpoint: "http://csghub.example.com:9005"
    ports:
    - '9005:9000' # 仅修改对外端口号
    - '9006:9001' # 仅修改对外端口号
    ......

4. 反馈

对于遇到的其他问题,请反馈给我们。