[英]How can I access from outside my docker container in mac?
我有一个在Mac中的默认vm中运行的docker容器,我已经将我的特定应用程序的端口映射到了vm的端口。 完成后,我可以通过以下方式访问我的应用程序:
curl $(docker-machine ip default):9003
之后,我通过以下方式进行端口转发将虚拟机端口映射到本地主机:
VBoxManage controlvm default natpf1 "9003,tcp,127.0.0.1,9003,,9003"
完成后,我将从本地主机获得应用程序的响应
curl localhost:9003
我的问题是:如何从外界甚至从我自己的网络访问此应用程序? 我尝试使用以下命令在Mac中打开端口:
pass in inet proto tcp from any to any port 9003
但该端口仍显示为被nmap关闭。 有谁知道我在想什么?
如果使用了--net=host
docker-run
选项--net=host
则可以将套接字绑定到localhost,因此本地堆栈以及NIC在主机和容器之间共享。
OTOH,如果使用了docker-run
选项-p
,则如果套接字绑定到本地主机IP地址,则无法从容器外部访问该服务。
虽然等待@ marc-b的回答,但他给了第一个答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.