Doker网络设置相关


查看容器的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也可以查看。


文章作者:
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 !
 上一篇
使用Docker搭建ElasticSearch+Logstash+Kibana环境 使用Docker搭建ElasticSearch+Logstash+Kibana环境
最近在做 Spring Cloud 相关系列框架的搭建,在做到整合微服务跟踪-Sleuth后,项目添加了Sleuth后已经能够正常的输出跟踪信息日志,接下来要对整个日志进行分析处理,这里选取使用配合ELK来做,首先需要搭建整个ELK环境。
2018-07-09
下一篇 
Docker快速入手使用 Docker快速入手使用
下载安装Docker在Ubuntn中,到终端窗口中(切换为root用户):执行命令如下,查看内核版本,必须3.0以上支持Docker. uname - r 执行命令如下,进行更新。 apt-get update 执行如下命令,进行安装本地存
2018-03-20
  目录