本地主机拒绝与docker的连接

the*_*NOD 3 localhost docker

我对Docker完全陌生,我尝试从“入门”教程中运行示例图像。

我的操作系统是Windows 10 Home(64位),我使用Docker Toolbox进行安装。我创建了3个文件,就像演示程序告诉我的那样,然后将内容复制到其中,以避免键入错误。当我使用docker run -p 4000:80 friendlyhello启动映像时

似乎没有问题,但是当我尝试使用localhost:4000在浏览器中连接时,浏览器(Google Chrome最实际的版本)告诉我localhost拒绝连接。即使使用Microsoft Edge,也会出现相同的错误。

我还尝试使用一项持续的规则更改Windows防火墙,以允许docker-engine.exe所有端口使用,但并没有帮助。

有没有人给我提示如何解决这个问题?我真的很想让示例运行:-)

链接到入门示例:https//docs.docker.com/get-started/part2/#pull-and-run-the-image-from-the-remote-repository

泊坞窗进程也正在运行: 在此处输入图片说明

更新:似乎我安装了错误版本的OracleVM VirtualBox,并且由于错误而导致默认VM的启动无法正常工作。我安装了较新的版本,然后再次启动默认图像,它可以正常工作。

使用以下命令启动Docker容器后:docker run -d -p 4000:80 friendlyhello

我能够通过端口4000在VirtualBox内调用演示应用程序:在此处输入图片说明

不幸的是,这使我完全不知道docker应该如何工作:-/。我以为在运行docker之后,我将能够在Windows OS上访问它,因为这只是另一个过程,但是现在看来我仍然需要虚拟机?有人可以向我解释一下我目前所缺少的吗?

小智 5

您需要使用容器名称运行以下命令来获取容器的IP。

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name>
Run Code Online (Sandbox Code Playgroud)

然后,您可以访问容器http:// IP_Obtained:Port

可以在https://docs.docker.com/docker-for-windows/troubleshoot/#limitations-of-windows-containers-for-localhost-and-published-ports找到详细说明

  • 在工具箱中运行docker时,“ docker-machine ip default”命令对我有效 (2认同)