Docker Swarm 服务名称

3

我是Swarm的新手,正在尝试弄清楚如何设置服务名称以便从不同节点访问容器。

我正在使用docker-compose文件:

version: '3.1'
services:
  service-ui:
    image: service-ui:release
    deploy:
      placement:
        constraints:
          - node.role == manager
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 5
    ports:
      - "443:443"

使用命令docker deploy -c docker-compose.yml stackname可以启动stack。

我的服务名称是按照以下格式生成的:stackname_servicename.1,我通过ServiceName来访问它。如何在swarm模式下设置一个固定的服务名称?

1个回答

3
在同一个组合文件中,所有服务都可以通过serviceName相互访问,因为有内部DNS。
在您的文件中,您有一个名为bigid-ui的服务,它是此类型所有服务的DNS记录,因此即使您一次扩展应用程序,您也将获得bigid-ui.1,另一次是bigid-ui.2,但两者都只有bigid-ui的dns记录。
这个名称仅对同一组合文件中的其他服务可用。如果你执行docker ps -a,它会显示正确的stackanme_bigid-ui.1。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接