簡體   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