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