回覆列表
-
1 # 小鳥攻城獅
-
2 # 小逗電競
不請自來。
docker容器啟動之後, docker系統會自動為該容器分配一個172.17的IP地址,這個地址是私有地址,容器外部(宿主機)是沒辦法訪問的。但在容器啟動的時候,透過引數-p可以做埠對映,將容器的埠對映到宿主機的某個埠上,就可以在正常訪問了。
docker run --name dockerfly --restart=always -d -v /var/run/docker.sock:/var/run/docker.sock -p 2735:2735 -p 28083:28083 helyho/dockerfly如:dockerfly容器在啟動的時候透過引數-p做了埠對映。
docker ps |grep dockerfly比如:dockerfly容器(docker WEB管理介面)
docker inspect 6f9601f0f054 | grep IPAddress我們看到:dockerfly容器的IP是172.17.2.3。
然後,再看docker容器與宿主機埠對映關係。
docker port 6f9601f0f054dockerfly容器上的2735和28083兩個埠對映到宿主機的2735和28083兩個埠上。
這樣,就可以在外面訪問容器中的應用了,可以用curl命令測試。
curl http://192.168.0.180:28083
問題推斷
沒怎麼看懂。問題沒有上下文,沒有具體描述。
是要獲取ipv4地址嗎?
還是監聽ipv4的地址?
描述清楚問題有助於解決你的問題
是要獲取ipv4地址嗎?假如是,那麼一個命令即可獲取所有容器名稱及其IP地址:
docker inspect -f "{{.Name}} - {{.NetworkSettings.IPAddress }}" $(docker ps -aq)還是監聽ipv4的地址?docker run -p <port>:<port> XXX.servic