Skip to content

Docker Compose 指南

为了确保您的 docker-compose 文件能够适配共绩算力服务,请按照以下指南进行操作:

指定镜像源

如果您已经上传了镜像到共绩算力镜像源并需要使用它作为服务,请在 image 字段中以 harbor.suanleme.cn 开头,后面跟上仓库名(改为自己的)和镜像名,例如:

YAML
image: harbor.suanleme.cn/<your-account>/my-image:my-tag

注意:

  • <your-account> 替换为您的仓库账号(可在"镜像仓库 > 访问凭证"中查看)
  • my-image 是您的镜像名称
  • my-tag 是镜像标签(如 "latest")

网络模式设置:服务的 network_mode 需要设置为 bridge

YAML
network_mode: bridge

端口转发设置

对于需要转发的端口及其域名前缀,需要在服务的 labels 中的 suanleme_n.http.port 以及suanleme_n.http.prefix字段中指定。

其中 n 代表这个转发端口的序号,n 从 0 开始。如果有多个端口需要转发,请按顺序使用 suanleme_n 标签,如 suanleme_0, suanleme_1, suanleme_2。

每一个 http.port 标签下面需要对应一个 http.prefix 标签,这是用来告诉服务器将去往 http.port 标签中的端口的请求解析到 http.prefix-用户前缀 - 任务前缀,【prefix 必须是 4-16 位,且只能是以小写字母开头的 小写字母 + 数字 的格式】

用户前缀和任务前缀不能出现点,空格,横杠等特殊字符。

下面是一个示例:

yaml
 labels:
      # 第一个转发端口
      - suanleme_0.http.port=8080
      - suanleme_0.http.prefix=gj8080
      # 第二个转发端口
      - suanleme_1.http.port=8081
      - suanleme_1.http.prefix=gj8081
      # 第三个转发端口
      - suanleme_2.http.port=8082
      - suanleme_2.http.prefix=gj8082
      # 第四个转发端口
      - suanleme_3.http.port=8083
      - suanleme_3.http.prefix=gj8083

其他配置

docker-compose 的其余部分可以根据应用的具体需求进行自定义配置。

以下是一个完整的 docker-compose 示例文件,展示了如何配置一个符合共绩算力要求的 stable diffusion 服务:

YAML
version: '3.8'
services:
  multi_ports_demo: # 第一个服务
    image: harbor.suanleme.cn/library/multi-ports-demo
    network_mode: bridge
    labels:
      # 第一个转发端口
      - suanleme_0.http.port=8080
      - suanleme_0.http.prefix=gj8080
      # 第二个转发端口
      - suanleme_1.http.port=8081
      - suanleme_1.http.prefix=gj8081
      # 第三个转发端口
      - suanleme_2.http.port=8082
      - suanleme_2.http.prefix=gj8082
      # 第四个转发端口
      - suanleme_3.http.port=8083
      - suanleme_3.http.prefix=gj8083

该文件仅用于演示目的而不用于展示实际功能,请根据具体需求编写自己的 docker-compose 文件。

推送镜像

请看 镜像仓库 指南。