无法从Windows Server 2019上的主机访问Docker Swarm服务

时间:2019-04-02 21:37:27

标签: docker docker-swarm

这是来自the Docker Forums的一个交叉帖子,旨在更快地做出响应

我正在为我的公司设置Dockerized服务,该服务需要实现负载平衡并在IIS反向代理后面(用于TLS卸载和多宿主功能)。该服务本身似乎运行良好(我可以直接从工作站计算机访问它,也可以通过另一台服务器的IIS反向代理到Swarm Manager服务器来访问它)。问题是我无法从Swarm管理器本身访问该服务。它正在0.0.0.0:8080上运行,并且我尝试localhost:8080127.0.0.1:8080<server's static IP>:8080无效。

如果我使用发布的端口启动运行microsoft/iis的独立容器,则可以访问它,因此这似乎是Swarm特有的。

我了解到Windows Server 2019之前的环回适配器上不提供已发布的Swarm端口,但是该机器正在运行最新的2019版本(Windows Server版本1809,内部版本17763),因此给我的印象是能够在环回时访问此服务。理想情况下,我们不必在单独的服务器上运行IIS以反向代理到容器化服务。有什么作用?

这是我们正在使用的docker-compose.yml文件:

version: "3.7"
services:
  api:
    image: our.registry.server/ourimage:${OUR_IMAGE_VERSION:-latest}
    ports:
      - "8080:80"
    deploy:
      replicas: 2
      update_config:
        parallelism: 1
        delay: 5s
        failure_action: rollback
        monitor: 10s
      rollback_config:
        parallelism: 1
        delay: 2s
        failure_action: continue
        monitor: 10s
      restart_policy:
        delay: 3s
        max_attempts: 3
        window: 45s
    healthcheck:
      test: curl -f http://localhost/healthcheck || exit 1
      interval: 30s
      timeout: 3s
      retries: 3
      start_period: 10s

0 个答案:

没有答案