2017-07-04 59 views
0

我现在正在学习使用码头跟踪get-started documents,但在第4部分 - Swarms中遇到了一些问题。那是在群集上部署我的应用程序时,我无法成功访问它。在群集上部署应用程序,但无法成功访问

[email protected]:~$ docker stack ps getstartedlab 
ID     NAME     IMAGE      NODE    DESIRED STATE  CURRENT STATE    ERROR    PORTS 
gsueb9ejeur5  getstartedlab_web.1 zhugw/get-started:first myvm1    Running    Preparing 11 seconds ago 
ku13wfrjp9wt  getstartedlab_web.2 zhugw/get-started:first myvm2    Running    Preparing 11 seconds ago 
vzof1ybvavj3  getstartedlab_web.3 zhugw/get-started:first myvm1    Running    Preparing 11 seconds ago 
lkr6rqtqbe6n  getstartedlab_web.4 zhugw/get-started:first myvm2    Running    Preparing 11 seconds ago 
cpg91o8lmslo  getstartedlab_web.5 zhugw/get-started:first myvm2    Running    Preparing 11 seconds ago 

[email protected]:~$ curl 'http://localhost' 
curl: (7) Failed to connect to localhost port 80: Connection refused 

➜ ~ docker-machine ls 
NAME ACTIVE DRIVER  STATE  URL       SWARM DOCKER  ERRORS 
myvm1 -  virtualbox Running tcp://192.168.99.101:2376   v17.06.0-ce 
myvm2 -  virtualbox Running tcp://192.168.99.100:2376   v17.06.0-ce 

➜ ~ curl 'http://192.168.99.101' 
curl: (7) Failed to connect to 192.168.99.101 port 80: Connection refused 

怎么了?

另外,很奇怪。在docker-compose.yml添加下面的内容后,我发现上面的问题自动解决

visualizer: 
    image: dockersamples/visualizer:stable 
    ports: 
     - "8080:8080" 
    volumes: 
     - "/var/run/docker.sock:/var/run/docker.sock" 
    deploy: 
     placement: 
     constraints: [node.role == manager] 
    networks: 
     - webnet 

但这次新增加的visualizer不从上面你知道它总是准备工作

[email protected]:~$ docker stack ps getstartedlab 
ID     NAME       IMAGE        NODE    DESIRED STATE  CURRENT STATE    ERROR    PORTS 
xomsv2l5nc8x  getstartedlab_web.1   zhugw/get-started:first   myvm1    Running    Running 7 minutes ago 
ncp0rljod4rc  getstartedlab_visualizer.1 dockersamples/visualizer:stable myvm1    Running    Preparing 7 minutes ago 
hxddan48i1dt  getstartedlab_web.2   zhugw/get-started:first   myvm2    Running    Running 7 minutes ago 
dzsianc8h7oz  getstartedlab_web.3   zhugw/get-started:first   myvm1    Running    Running 7 minutes ago 
zpb6dc79anlz  getstartedlab_web.4   zhugw/get-started:first   myvm2    Running    Running 7 minutes ago 
pg96ix9hbbfs  getstartedlab_web.5   zhugw/get-started:first   myvm2    Running    Running 7 minutes ago 


我的整个码头工人,compose.yml

version: "3" 
services: 
    web: 
    # replace username/repo:tag with your name and image details 
    image: zhugw/get-started:first 
    deploy: 
     replicas: 5 
     resources: 
     limits: 
      cpus: "0.1" 
      memory: 50M 
     restart_policy: 
     condition: on-failure 
    ports: 
     - "80:80" 
    networks: 
     - webnet 
    visualizer: 
    image: dockersamples/visualizer:stable 
    ports: 
     - "8080:8080" 
    volumes: 
     - "/var/run/docker.sock:/var/run/docker.sock" 
    deploy: 
     placement: 
     constraints: [node.role == manager] 
    networks: 
     - webnet 
networks: 
    webnet: 
+0

Docker群组模式'manager'上的docker服务日志getstartedlab_web的输出是什么? –

+0

谢谢,请参阅我的补充 – zhuguowei

回答

0

卷: - “/var/run/docker.sock:/var/run/docker.sock”

卷: - /var/run/docker.sock:/var/run/docker.sock

这是码头工导师的错误

0

在群组节点之间打开端口7946 TCP/UDP和端口4789 UDP。使用入口网络。请让我知道它是否有效,谢谢。

+0

可否请告诉我这样做的步骤? –

相关问题