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

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


当前回答

Use:

docker inspect $CID | grep IPAddress | grep -v null| cut -d '"' -f 4 | head -1

其他回答

docker inspect --format "{{ .NetworkSettings.Networks.mynetwork.IPAddress }}" <containername or containerID here>

以上内容适用于已使用

docker create network mynetwork 

首先获取容器ID:

docker ps

(第一列用于容器ID)

使用容器ID运行:

docker inspect <container ID>

在底部的“网络设置”下,您可以找到IPAddress

或者只针对基于UNIX的系统:

docker inspect <container id> | grep "IPAddress"

对于Windows CMD:

docker inspect <container id> | findstr "IPAddress"

显示所有容器的IP地址:

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

将此shell脚本添加到~/.bashrc或相关文件中:

docker-ip() {
  docker inspect --format '{{ .NetworkSettings.IPAddress }}' "$@"
}

然后,要获取容器的IP地址,只需执行以下操作:

docker-ip YOUR_CONTAINER_ID

对于Docker的新版本,请使用以下内容:

docker-ip() {
        docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$@"
}
docker inspect <container id> | grep -i ip

例如:

docker inspect 2b0c4b617a8c | grep -i ip