Docker网络配置
作用:为了容器之间的相互通信#创建自定义网络#分配指定ip#查看网络# 也可以进入容器检查的内部的网络情况ifconfig。
目录
一.Docker网络模式
Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使 用--net去指定
1.1bridge模式(默认模式)
docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的注1:bridge为默认模式,不需要使用参数--net去指定,使用了--net参数反而无效
注2:bridge模式无法指定容器IP(但非绝对,可以修改)
1.2host模式(仅主机模式)
docker run时使用--net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
docker run -itd --net=host 961769676411
注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的
1.3初识网络模式
#查看网络模式
ip a
ifconfig
#Docker网络模式相关命令查看
docker network --help
#列出Docker现有网络模式
docker network ls
#查看桥接模式下的网络状态
docker network inspect bridge
1.4查看桥接模式的特点
在此之前我们先删除docker里面所有的容器。
docker rm -f $(docker ps -aq)
#启动一个容器
docker run -di centos:7
#查看桥接模式下的网络状态
docker network inspect bridge#再启动一个容器
docker run -di centos:7
这里可以看到每个容器都分配了一个ip。
1.5查看仅主机模式的特点
创建一个host容器
docker run -di --name c1 --net=host --restart=always centos:7
查看网络状态
docker network inspect host
可以看到不会分配虚拟IP。
二.Docker桥接模式
# 这种不需要开放宿主机防火墙端口,如8081端口不需要开放
docker run -di --name tomcat1 -p 8080:8080 e6d6b46fa6a6#--restart=always容器随着Docker引擎启动而启动
docker run -di --name tomcat2 --restart=always -p 8081:8080 e6d6b46fa6a6
三.host模式
# 这种要开放宿主机防火墙端口
docker run -di --name tomcat3 --net=host --restart=always e6d6b46fa6a6#指定数据卷创建
docker run -di --name tomcat5 -v /javaxd/software/mydocker/:/home/javaxd/docker --net=host --restart=always e6d6b46fa6a6
#查看该容器详细信息
docker inspect tomcat5
四.自定义网络
作用:为了容器之间的相互通信
#创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork#分配指定ip
docker run -it --name tomcat8 --net=mynetwork -v /javaxl/software/mydocker/:/home/javaxl/docker --ip 172.18.0.8 e6d6b46fa6a6 /bin/bash
#查看网络
docker network inspect mynetwork# 也可以进入容器检查的内部的网络情况
yum install -y vim
yum install net-tools.x86_64 -y
ifconfig
更多推荐
所有评论(0)