繁体   English   中英

如何从Mac中的Docker容器外部访问?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM