我正在使用Mac OSX,并且使用的是part 4 of the Docker tutorial,但是我无法通过网络浏览器访问该网站。当我访问docker-machine ls
命令给定的IP地址时,出现“无法访问此站点”错误。如果我指定了端口2377,例如http://192.168.99.100:2377/
(也使用了端口2376),则我至少可以连接,但会导致“ 192.168.99.100发送了无效响应”错误消息。
当我尝试对端口80和8080进行卷曲请求时,它将失败
curl http://192.168.99.100:80
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
如果我指定端口2376或2377,它将连接,但是我没有收到任何内容,这似乎与我从Web浏览器直接访问时收到的“无效响应”错误相符
curl --verbose 192.168.99.100:2376
* Rebuilt URL to: 192.168.99.100:2376/
* Trying 192.168.99.100...
* TCP_NODELAY set
* Connected to 192.168.99.100 (192.168.99.100) port 2376 (#0)
> GET / HTTP/1.1
> Host: 192.168.99.100:2376
> User-Agent: curl/7.54.0
> Accept: */*
>
* Connection #0 to host 192.168.99.100 left intact
这是我运行docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.06.1-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.06.1-ce
我认为我的虚拟机存在端口映射问题,但是我不确定该怎么办。我尝试过the accepted answer in this question,但还是没有运气。
更新
我尝试按照this post中的建议进行端口转发,但是也没有运气。我添加了以下内容,并在VirtualBox管理器中验证了转发规则是否存在
VBoxManage controlvm "myvm1" natpf1 "tcp-port8000,tcp,,80,,80";
VBoxManage controlvm "myvm2" natpf1 "tcp-port8000,tcp,,80,,80";
我还为两个虚拟机分别添加了端口7946 TCP / UDP和端口4789 UDP的转发