协慌网

登录 贡献 社区

如何从主机获取 Docker 容器的 IP 地址?

是否有一个命令可以在创建新容器后运行以从主机获取容器的 IP 地址?

基本上,一旦 Docker 创建了容器,我想推出自己的代码部署和容器配置脚本。

答案

检查的 - --format选项来救援。

现代 Docker 客户端语法:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

旧 Docker 客户端语法:

docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id

哪个只返回 IP 地址。

正如评论中所提到的:如果您使用的是Windows ,请在花括号周围使用双引号"而不是单引号'

您可以使用docker inspect <container id>

例:

CID=$(docker run -d -p 4321 base nc -lk 4321);
docker inspect $CID

首先获取容器 ID:

docker ps

(第一列是容器 ID)

使用容器 ID 运行:

docker inspect <container ID>

在底部,在 “NetworkSettings” 下,您可以找到 “IPAddress”

或者只是做:

docker inspect <container id> | grep "IPAddress"