docker网络的作用
实现容器和容器之间通信
容器和宿主机通信
容器夸宿主机和容器通信
docker网络的模式
bridge:将容器网络桥接到docker0网桥上
none:创建容器创建独立网络命名空间,不会给容器配置TCP/IP信息
container:创建容器使用指定的共享同期网络名称空间
host:容器和宿主机网络保持一致
创建容器并将此容器网络设置为bridger模式
[root@aliyun ~]# docker run -it -d --net=bridge --name apache1 apache:v1.0
然后登录名称为Apache1的容器并查看网络是否为bro网段
[root@aliyun ~]# docker exec -it apache1 /bin/bash
然后 IP a 查看网络
将apache2配置为none模式
[root@aliyun ~]# docker run -it -d --net=none --name apache2 apache:v1.0
将apache3配置为与宿主机同步
[root@aliyun ~]# docker run -it -d --net=host --name apache3 apache:v1.0
停止bro网桥
首先停止docker服务
[root@aliyun ~]# systemctl stop docker
2)停止docker0网桥
[root@aliyun ~]## ip link set dev docker0 down
3)删除docker0网桥
[root@aliyun ~]]# brctl delbr docker0
4)创建新的docker0网桥
[root@aliyun ~]]# brctl addbr docker0
5)新网桥设置Ip地址
[root@aliyun ~]# ip addr add 192.168.10.1/24 dev docker0
6)启动docker0网桥
[root@aliyun ~]# ip link set dev docker0 up
[root@aliyun ~]# vim /etc/docker/daemon.json
重新启动docker
[root@aliyun ~]# systemctl start docker
docker容器的网络隔离
原理就是创建一个容器网段,将一部分容器设置到这个网段无法与外界的容器以及宿主机来进行通信
创建一个隔离空间为lamp的隔离空间
[root@aliyun ~]# docker network create -d bridge lamp
创建一个基于Apache镜像的容器将它放到lamp的隔离空间
[root@aliyun ~]# docker run -it -d --name apache4 --network=lamp apache:v1.0