docker 1.5之网络模型以及设置网络别名
1.四种网络模式
(1)bridge桥接模式,--net=bridge 是默认模式
(2)host模式,--net=host host模式无法通过-p指定端口,因为容器里使用的端口是宿主机端口,各个host模式的容器之前不能端口冲突
(3)none模式,--net=none 无网络模式
[root@elk ~]# docker run --name=test3 --net=none -it --privileged=true centos:7
(4)container 模式 --net=container:容器名
2.docker 自定义网络
root@elk ~]# docker network create --driver bridge --subnet 192.168.0.1/24 --gateway 192.168.213.1 mynet
# --driver指定网络模式
# --subnet指定网段
# --gateway指定网关
# mynet自己自定义的网络名
(1)查看网络的详细信息,格式:docker network inspect 网络名
[root@elk ~]# docker network inspect bridge [ { "Name": "bridge", "Id": "11089204b285c200f5839f5671d1fb6b7703473ed594b9b40c6a13d560b2225d", "Created": "2022-05-29T14:17:43.030488845+08:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [
(2)容器加入网络
格式:docker network connect 网络名 容器名
(3)安装网桥管理工具
[root@elk ~]# yum install -y bridge-utils
用brctl show查看docker容器状态
3.link设置网络别名
用处:给容器指定一个域名,避免了容器重启后ip变化带来的问题
实验准备,创建test1 test2 容器
[root@elk ~]# docker run --name=test1 -it centos:7 /bin/bash [root@elk ~]# docker run --name=test2 -it --link=test1:zhao centos:7 /bin/bash
查看下各自ip
hostname -I
用ping工具ping刚设置的别名zhao
root@66f3a95ea824 /]# ping zhao PING zhao (172.17.0.2) 56(84) bytes of data. 64 bytes from zhao (172.17.0.2): icmp_seq=1 ttl=64 time=0.092 ms 64 bytes from zhao (172.17.0.2): icmp_seq=2 ttl=64 time=0.134 ms