代码之家  ›  专栏  ›  技术社区  ›  Michael Vescovo

Docker入门第3部分“连接被拒绝”在使用“Docker Stack Deploy”、“Docker Compose-up”作品时

  •  1
  • Michael Vescovo  · 技术社区  · 6 年前

    我正在尝试完成以下教程: https://docs.docker.com/get-started/part3 .

    我已经仔细按照说明操作了,但是当我尝试连接到 http://localhost:4000 我得到以下错误:

    curl:(7)未能连接到本地主机端口4000:连接被拒绝

    我正在使用以下命令按指示启动服务: docker stack deploy -c docker-compose.yml getstartedlab

    运行 docker container ls -q 显示我有5个任务正在运行。

    如果我运行相同的图像 docker run -p 4000:80 mvescovo/get-started:part2 然后它工作。

    如果我使用 docker-compose up 然后它也起作用了。但是为了能够测试“负载平衡”特性,我需要使用stack deploy命令(从上面)。

    这是我的Docker撰写文件:

    version: "3"
    services:
      web:
        # replace username/repo:tag with your name and image details
        image: mvescovo/get-started:part2
        deploy:
          replicas: 5
          resources:
            limits:
              cpus: "0.1"
              memory: 50M
          restart_policy:
            condition: on-failure
        ports:
          - "4000:80"
        networks:
          - webnet
    networks:
      webnet:
    

    这可能是什么原因造成的?我正在安装标准的Ubuntu 18.04.1。

    我在两台不同的机器上试过,每次都有同样的问题。

    您应该能够重现错误-如果不是,那将是有趣的。 我使用的是“Docker Compose 1.22.0版,build f46880fe”。

    感谢您的建议。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Michael Vescovo    6 年前

    好的,这两台机器都能用。

    我在3台机器上都试过了(2台在工作,1台在家)。家用机器工作,而两台工作机器不工作。

    我检查了所有的Docker版本。家用机器和其中一台工作机器具有“18.06.0-CE,构建0ffa825”,而另一台工作机器具有“17.06.2-CE,构建a04f55b”。

    在最旧版本的机器上,我试图卸载Docker,但没有成功。按照这里的说明,它不会消失: https://docs.docker.com/install/linux/docker-ce/ubuntu

    这让我思考,然后我发现它是作为一个快照安装的。 卸载快照,然后通过上述链接上的说明安装Docker,解决了这个问题。 .

    我不确定是版本(还没有尝试手动安装该版本)还是关于使用快照的内容,但是不再支持将Docker用作快照,如下所述: https://github.com/docker/docker-snap .