在docker swarm中启动后,为什么我的服务没有显示在网络上?

时间:2020-08-04 18:14:04

标签: docker docker-compose docker-swarm-mode

在一周前对我的新事物进行了几天的摆弄之后,我有点被困住了,希望得到您的帮助。我已经使用一些运行Ubuntu服务器20.04 LTS的Pi并使用以下命令创建了一个Docker群:

$ docker stack deploy --compose-file docker-compose.visualizer.yml visualizer

终端反馈为:

Creating network visualizer_default
Creating service visualizer_visualizersvc

运行时实际上是相同的输出:

$ docker stack deploy --compose-file docker-compose.home-assistant.yml home-assistant

检查堆栈:

$ docker stack ls
NAME                SERVICES            ORCHESTRATOR
home-assistant      1                   Swarm
visualizer          1                   Swarm

检查堆栈中的服务:

$ docker stack services visualizer
ID                  NAME                       MODE                REPLICAS            IMAGE                             PORTS
t5nz28hzbzma        visualizer_visualizersvc   replicated          0/1                 dockersamples/visualizer:latest   *:8000->8080/tcp
$ docker stack services home-assistant
ID                  NAME                           MODE                REPLICAS            IMAGE                                 PORTS
olj1nbx5vj40        home-assistant_homeassistant   replicated          0/1                 homeassistant/home-assistant:stable   *:8123->8123/tcp

当我浏览至docker-compose.visualizer.ymldocker-compose.home-assistant.yml中指定的端口时,服务器端无响应(“无法连接”)。对于管理者IP和工作者IP相同。它位于家庭网络内部,在单个子网中,没有为LAN流量设置流量规则。

编辑:端口可以显示任一主机上指定范围内的未打开端口。

在学习过程中,任何对我的工作的评论都欢迎,但是我非常希望看到一些容器在运行。

作为参考,我包括了docker-compose个文件:

docker-compose.home-assistant.yml

version: "3"

services:
  homeassistant:
    image: homeassistant/home-assistant:stable
    ports:
      - "8123:8123"
    volumes:
      - './home-assistant:/config'
    environment:
      TZ: 'Madrid'
    restart: unless-stopped
    network_mode: host

docker-compose.visualizer.yml

version: "3"

services:
  visualizersvc:
    image: alexellis2/visualizer-arm:latest
    deploy:
      placement:
        constraints:
          - 'node.role==manager'
    ports:
      - '8000:8080'
    volumes:
        - '/var/run/docker.sock:/var/run/docker.sock'

奖励积分,告诉我是否应该始终通过指定的端口与管理器联系,或者是否必须与运行该服务的机器(或有关此主题的任何好的文档)联系。

1 个答案:

答案 0 :(得分:0)

发布问题后不久,您当然会自己找到答案:

我从不扩展服务(在我的情况下为1)

docker service scale [SERVICE_ID]=1

编辑:由于在可视化工具中出现了另一个错误,因此服务没有缩放到1,但这使我得到了最终答案。

现在我收到了很多新的错误消息,但至少这些消息是冗长的:)

仍然欢迎任何反馈。

相关问题