Docker为堆栈撰写设置容器名称

Igo*_* L. 8 docker docker-compose docker-ucp

我正在将小堆栈部署到UCP

我面临的问题之一是为service1命名容器。

我需要为容器使用一个静态名称,因为mycustomimageforservice2使用了该名称

所述CONTAINER_NAME选项 部署在群模式与(第3版)撰写的文件的堆叠时被忽略。

我必须使用版本:3个撰写文件。

version: "3"
services:

  service1:
    image: dockerhub/service1
    ports: 
      - "8080:8080"
    container_name: service1container
    networks:
      - mynet

  service2:
    image: myrepo/mycustomimageforservice2
    networks:
      - mynet
    restart: on-failure

networks:
  mynet:
Run Code Online (Sandbox Code Playgroud)

我有什么选择?

her*_*erm 5

您不能强制将containerName作为其设计来强制进行诸如允许扩展服务(通过更新副本的数量)之类的事情,而这不适用于名称。一种服务可以使用服务名(http:// serviceName:internalServicePort)访问另一种服务,而docker将为您完成其余工作(例如解析为实际的容器地址,副本之间的负载平衡...。)。

这适用于覆盖的默认网络类型

  • 对于其他人来说更明确一点:引用您的服务,例如“stack_service”,其中“stack”是您为堆栈指定的名称,“service”是撰写文件中服务的名称。在OP的示例中,如果堆栈的名称是“mystack”,则这将是“mystack_service1” (2认同)