通过docker swarm托管的应用程序的连接被拒绝

时间:2018-11-13 13:09:02

标签: docker virtualbox docker-swarm docker-swarm-mode

我有一个在2个节点上运行的docker群,这些节点是通过安装在Oracle VirtualBox上的CentOS 7创建的。我能够部署一个运行6个容器的堆栈,这些容器平均分布在两台计算机上。

但是,我无法通过暴露的端口连接到已部署的应用程序。

这是我的Docker Compose File

的内容
version: "3"
services:
  web:
    image: <myusername>/friendlyhello:latest
    deploy:
      replicas: 6
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
    networks:
      - webnet
networks:
  webnet:

这是docker-machine ls的输出:

NAME    ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
myvm1   *        virtualbox   Running   tcp://192.168.99.100:2376           v18.09.0
myvm2   -        virtualbox   Running   tcp://192.168.99.101:2376           v18.09.0

这是我的curl命令中的错误

curl http://192.168.99.100/
curl: (7) Failed connect to 192.168.99.100:80; Connection refused

即使我的应用程序似乎运行正常。

docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                              PORTS
i5nw2wcir9j3        getstartedlab_web   replicated          6/6                 harmanspall/friendlyhello:latest   *:80->80/tcp

docker service ps getstartedlab_web
ID                  NAME                  IMAGE                              NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
dn7mrfo1yvg4        getstartedlab_web.1   harmanspall/friendlyhello:latest   myvm1               Running             Running 28 minutes ago
jxkr1psbvmpc        getstartedlab_web.2   harmanspall/friendlyhello:latest   myvm2               Running             Running 28 minutes ago
jttd4t6b9gz5        getstartedlab_web.3   harmanspall/friendlyhello:latest   myvm1               Running             Running 28 minutes ago
zhs0c7ygj8cs        getstartedlab_web.4   harmanspall/friendlyhello:latest   myvm2               Running             Running 28 minutes ago
mx6gykk3qocd        getstartedlab_web.5   harmanspall/friendlyhello:latest   myvm1               Running             Running 28 minutes ago
pku7f60ij0bq        getstartedlab_web.6   harmanspall/friendlyhello:latest   myvm2               Running             Running 28 minutes ago

从Swarm Manager中看到的我的Docker网络列表:

NETWORK ID          NAME                   DRIVER              SCOPE
5c502a957a70        bridge                 bridge              local
a3b1f749c09f        docker_gwbridge        bridge              local
80nens8mmp6i        getstartedlab_webnet   overlay             swarm
c9647a0f6c30        host                   host                local
mj60zgzhiwjf        ingress                overlay             swarm
5adba823ce78        none                   null                local

任何指针将不胜感激。

~~编辑~~
这似乎与虚拟机的连接不是问题,因为我能够ping通我的Virtualbox

ping 192.168.99.100 -c 5
PING 192.168.99.100 (192.168.99.100) 56(84) bytes of data.
64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.246 ms
64 bytes from 192.168.99.100: icmp_seq=2 ttl=64 time=0.215 ms
64 bytes from 192.168.99.100: icmp_seq=3 ttl=64 time=0.226 ms
64 bytes from 192.168.99.100: icmp_seq=4 ttl=64 time=0.251 ms
64 bytes from 192.168.99.100: icmp_seq=5 ttl=64 time=0.262 ms

--- 192.168.99.100 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.215/0.240/0.262/0.017 ms

当我尝试从VM内部卷曲时,它也会失败

docker-machine ssh myvm1 "curl http://192.168.99.100/"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
exit status 7

docker-machine ssh myvm1 "curl http://localhost/"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 80: Connection refused
exit status 7

0 个答案:

没有答案