是的,Docker容器确实有IP地址。以下是关于Docker容器IP地址的详细说明:
Docker为容器提供了几种网络模式,每种模式下IP地址的分配方式不同:
桥接网络(bridge) - 默认模式
docker network inspect bridge
查看详情主机网络(host)
无网络(none)
自定义网络
使用docker inspect
命令:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名或ID
进入容器查看:
docker exec -it 容器名或ID ip a
# 或
docker exec -it 容器名或ID ifconfig
查看所有容器的IP:
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
如果需要固定IP,可以:
创建自定义网络时指定IP范围
docker network create --subnet=172.20.0.0/16 mynet
启动容器时指定IP
docker run --network=mynet --ip=172.20.0.10 ...
使用--network-alias
或--link
创建可解析的名称
希望这些信息对您有所帮助!如果您有关于Docker网络更具体的问题,我很乐意进一步解答。