查看容器的IP地址
查看單個容器的詳細完整信息
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>
或者
docker inspect <container id>
或者
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
簡潔模式---查看所有的容器的IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
為什么需要給容器設置固定IP
在默認的的橋接模式下,會給每個容器隨機分配一個沒有使用的IP,一般會按照順序創建,比如使用bridge模式默認的IP和網段為:172.17.0.1。那么此時創建運行一個新的容器,這個容器的IP會是172.17.0.2,繼續創建容器,IP依次類推。這個時候容器間的IP都是在同一網段,是可以互相通信的。
但是這種處理方式,如果容器停止重新啟動,那么IP會重新分配,這個時候如果想要和之前一樣的IP,那么就必須要和之前的啟動順序完全一致。在開發中如果使用容器作為穩定服務,那么肯定需要IP是固定的,而且設置IP的時候可以設置網段,也就是說可以合理分配容器之間是否可以通信,提前做好IP規劃,這樣保證了容器的沙箱特性,如果不是需要通信的,就設置為不同的網段即可。
如何給容器設定固定IP
注意:默認bridge模式下無法直接給容器設定固定IP,此時需要先創建自定義網絡。
具體的步驟為:
1.創建自定義網絡,并指定網段:172.18.0.0/16
使用命令
docker network create --subnet=172.18.0.0/16 mynetwork
創建后可以查看,查看命令:
docker network ls
2.創建Docker容器,并指定IP
命令如下:
docker run -it -d --net mynetwork --ip 172.18.0.8 --name mytomcat tomcat
然后就會給容器有默認固定IP,使用ifconfig也可以查看。