Docker 网络
- Docker的四种网络模式
(一) bridge模式
docker网络隔离基于网络命名空间,在物理机上创建docker容器时会为每一个docker容器分配网络命名空间,并且把容器IP桥接到物理机的虚拟网桥上。
(二) none模式
此模式下创建容器是不会为容器配置任何网络参数的,如:容器网卡、IP、通信路由等,全部需要自己去配置。
(三.)host模式
此模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP,并且这个模式认为是不安全的。
(四)container模式
此模式和host模式很类似,只是此模式创建容器共享的是其他容器的IP和端口而不是物理机,此模式容器自身是不会配置网络和端口,创建此模式容器进去后,你会发现里边的IP是你所指定的那个容器IP并且端口也是共享的,而且其它还是互相隔离的,如进程等。
- dokcer默认自带的几种网络介绍
(一)none
没有网络 只有回环地址127.0.0.1
(二)host
共享宿主机网络栈 network
(三)bridge
桥接模式,默认网络模式
(四)user-defined
用户自定义网络
1.可以给容器指定IP
2.容器之间可以使用DNS通信.即使用主机名通信
- 命令
查看当前有哪些网络:docker network ls
1)bridge 查看bridge网络详细信息
docker network inspect bridge
2)host
创建网络:docker run -it --network host busybox sh
3)none
创建网络:docker run -it --network none busybox sh
4)user-defined
创建网络:
docker network create --subnet 192.168.203.0/24 --gateway 192.168.203.1 tian
创建容器指定IP
docker run -it --network tian --ip 192.168.203.3 busybox sh
用户自定义网络使用主机名通信:
docker run -it --network tian --name tian1 --ip 192.168.203.5 busybox sh
- 容器间IP通信
运行容器 docker run -it --network tian --name tian3 --ip 192.168.203.6 busybox sh
给tian3容器添加一张bridge网络模式网卡
docker network connect bridge tian3
删除bridge网卡:
docker network disconnect bridge tian1