创建新容器后,是否可以运行命令从主机获取容器的IP地址?
基本上,一旦Docker创建了容器,我就想滚动我自己的代码部署和容器配置脚本。
创建新容器后,是否可以运行命令从主机获取容器的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