在Mac上设置docker。无法通过localhost连接

1 人关注

我刚刚在我的Mac上设置了docker。安装成功后,我得到了一些容器的运行(按照getting-stared指南),但现在我想用我的浏览器连接到localhost,以显示一个网络应用。

为此,我遵循这个指南 :https://docs.docker.com/engine/userguide/containers/usingdocker/

在最后一节中说,你可以用你的浏览器连接到:localhost:XXXX,其中XXXX是端口,你用命令找到的。

docker ps -l

第一个问题:这里没有发生任何事情。浏览器显示一个空页面(ERR_CONNECTION_REFUSED)。

指南中进一步解释说,对于Mac,你可以通过命令检查你的IP地址。

docker-machine ip your_vm_name

这里出现了第二个问题:这个命令的结果是一个错误信息。

Host does not exist: "your_vm_name"

所以我的问题是。

如何设置虚拟机(或 "your_vm_name")? 这与我的Mac OS上的vhosts文件有关系吗? 与MAMP(我有时也在使用)是否会有冲突?

macos
docker
virtual-machine
codiga
codiga
发布于 2016-06-08
3 个回答
codiga
codiga
发布于 2019-03-25
0 人赞同

并感谢GianArb的快速回答!这个解决方案也很有效。

为了对社区做出贡献,我刚刚自己发现,这个解决方案简单得不能再简单了。

用default代替your-vm-name(显然是docker设置的default-host),所以我就用。

docker-machine ip default

然后我就得到了正确的IP。

很完美!你可以使用你的/etc/hosts来拥有一个可读的地址,通常我不使用localhost......你可以使用类似docker.local的东西 +1
GianArb
GianArb
发布于 2019-03-25
0 人赞同

你好,开始在mac上使用docker-machine的过程是这样的。

在virtualbox上创建一个新的docker机器,你可以使用 "your_vm_name "这样的名字,或者直接使用 "default",这样你就不能使用名字了,因为 "default "是docker-machine试图在你没有指定任何东西时使用的一个关键字。

这里的问题是,为什么docker-machine ip your_vm_name不提供好的ip?你能复制你的命令的结果吗?

echo $DOCKER_HOST

通常情况下是192.168.99.100

Anton Korneychuk
Anton Korneychuk
发布于 2019-03-25
0 人赞同

对Mac OS来说是实际的。
如果对VirtualBox机器没有实际需要,你可以直接删除它。
Docker可以在Mac OS下启动Linux容器而不需要任何VirtualBox机器。
没有任何VirtualBox机器,所有导出的端口都可以在 localhost:*

  • 移除docker机器

    docker-machine ls
    docker-machine stop default
    docker-machine rm default
    
  • 确保你的~/.bashrc~/.zshrc 中没有eval $(docker-machine env ...) 这个命令。
    否则,任何东西都不会工作。你会看到错误Error: No machine name(s) specified and no "default" machine exists

  •