在使用Docker時,經常會遇到需要訪問容器內應用的情況。而容器內應用的 IP 是很重要的,在進行網絡通信時也會用到。本文將詳細介紹如何獲取 Docker 容器內應用的 IP。
首先,通過
docker ps命令可以查看所有運行中的容器,如下所示:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 47d3de8a1173 nginx "nginx -g 'daemon of…" 30 minutes ago Up 30 minutes 0.0.0.0:80->80/tcp nginx 75840eb1bc7c mysql "docker-entrypoint.s…" 6 hours ago Up 6 hours 0.0.0.0:3306->3306/tcp mysql
接下來,可以通過
docker inspect命令獲取容器的詳細信息,包括容器中應用的 IP 地址。例如,獲取上面例子中
nginx
容器的 IP 地址:$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx 172.17.0.2
從輸出結果中可以看到,容器nginx
的 IP 地址是172.17.0.2
。
如果容器中有多個應用,可以使用上面的命令獲取相應應用的 IP 地址。
總結:獲取 Docker 容器內應用的 IP 地址是基本操作,通過上述介紹,相信大家都可以輕松搞定了。不過需要注意的是,在進行網絡通信時,還需要了解容器內應用對外暴露的端口。