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

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


当前回答

docker inspect<container id>| grep-i“ipad地址”

其他回答

您可以使用docker inspect<container id>。

例如:

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

码头工人检查MY_CONTAINER | jq-r'。[].网络设置.网络[].IP地址'

plus

优雅的语法灵活(一旦你使用jq,你可以在任何地方使用它,有json,非常有用)强大的

需要安装jq(例如apt-get-installjq)

inspect的--format选项起了作用。

现代Docker客户端语法为:

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

旧Docker客户端语法为:

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

这些命令将返回Docker容器的IP地址。

如评论中所述:如果您使用Windows,请在大括号周围使用双引号“而不是单引号”。

显示所有容器的IP地址:

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
docker inspect --format "{{ .NetworkSettings.Networks.mynetwork.IPAddress }}" <containername or containerID here>

以上内容适用于已使用

docker create network mynetwork