docker 容器ip查看及 网络配置区别
本文为博主原创,未经允许不得转载:
1. 查看容器ip:
方法一:查看所有容器的ip
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
方法二:查看指定容器的ip网络配置包含网络,ip等
docker inspect containerId
方法三:查看容器的ip
docker exec -it containerId ip addr
2. docker 的网络模式及区别
2.1 docker的四种网络模式
None --- 不为容器进行任何网络配置,容器不能访问外部网络,内部存在回路地址,这个Docker容器没有网卡、IP、路由等信息,只有lo 网络接口。需要我们自己为Docker容器添加网卡、配置IP等。
Container --- 将容器的网络栈合并到一起,可与其他容器共享IP地址和端口范围等。而不是和宿主机共享,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。
Host --- 与主机共享网络。
Bridge --- 默认网络模式,通过主机和容器的端口映射(iptable转发)来通信。桥接是在主机上,一般叫docker0。
2.2 查看存在的网络配置
docker network ls
2.3 docker容器启动时,可通过 --network 指定网络配置
docker run --name elasticsearch -it --network host elasticsearch:7.6.1