Docker网络配置

一、Docker网络介绍

Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定

二、网络模式

2.1 bridge模式(默认模式)

docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的

注1:bridge为默认模式,不需要使用参数--net去指定,使用了--net参数反而无效
注2:bridge模式无法指定容器IP(但非绝对,还是可以修改滴,具体操作可参考资料/10)

 

 

2.2 host模式

docker run时使用--net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
docker run -itd --net=host 961769676411
注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的

初识网络模式

#查看网络模式
ip a
ifconfig
#Docker网络模式相关命令查看
docker network --help
#列出Docker现有网络模式
docker network ls
#查看桥接模式下的网络状态
docker network inspect bridge

2.3 查看桥接模式的特点

启动容器

docker run -di centos:7

再启动一个容器

docker run -di centos:7

2.4 查看仅主机模式的特点

#创建一个容器
docker run -di --name c1 --net=host --restart=always centos:7
#查看网络的状态
docker network inspect host

 

可以看到不会分配虚拟IP

三、桥接模式

# 这种不需要开放宿主机防火墙端口,如8081端口不需要开放
docker run -di --name tomcat1 -p 8080:8080 f7f730b9e9eb
#--restart=always容器随着Docker引擎启动而启动
docker run -di --name tomcat2 --restart=always -p 8081:8080 f7f730b9e9eb

四、host模式

# 这种要开放宿主机防火墙端口
docker run -di --name tomcat3 --net=host --restart=always f7f730b9e9eb
docker run -di --name tomcat5 -v /javaxl/software/mydocker/:/home/javaxl/docker --net=host --restart=always f7f730b9e9eb
docker inspect tomcat5

五、自定义网络

为了容器之间相互通信

 创建自定义网络

docker network create --subnet=172.18.0.0/16 mynetwork

查看网络

docker network ls

分配指定的IP,指定我的网络模式,为我创建的网络模式,并且指定IP

发现IP是固定

# 也可以进入容器检查的内部的网络情况
yum install -y vim
yum install net-tools.x86_64 -y
ifconfig
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值