docker网络管理
一、创建容器或启动的容器全部删除(二选一即可)
# 暂停所有运行中的容器
docker container ls -q | xargs docker container stop
# 删除所有的容器
docker container ls -aq | xargs docker container rm
二、网络管理
-
暗转docker后,默认会自动创建三个网络。我们可以使用下面的命令查看这些网络
-
docker network ls
-
默认:
brige 桥接 host 主机 none 不设置
1,brige 桥接网络
- 创建一个新容器,默认使用 --network bridge,默认使用使用桥接
(1 bridge 网络使用原理
- docker 对于bridge网络使用端口的方式设置为端口映射,通过iptables实现
(2 iptables 映射端口
docker run
-d -p 10001:80 -p ip:hostPort:containerPort 将容器的端口发布到主机端口上
--name shiyanlou001
shiyanlou:1.0
(3 弊端
- 默认bridge网络中,每次重启容器,容器的IP地址都是会发生变化的,因为对于默认的bridge网络,并不能启动容器的时候指定IP氐池
2,自定义网络(bridge 或 overlay)
(1 创建网络
docker network create 网络名 docker会随机生成网络接口名,和子网
docker network create
-d bridge -d类型
--subnet=192.168.16.0/24 子网
--gateway=192.168.16.1 网络名 网关
(2 删除网络
docker network rm 网络名
(3 docker 容器间dns解析
- docker 嵌入的DNS服务支持链接到该网络的容器名的解析,同一个网络的容器可以通过容器名去ping 另一个容器
3,host和none
-
host 网络,容器可以直接访问主机上的网络
-
none网络,容器中不提供其他网络接口,none网络的容器创建之后可以自己connect一个网络
- docker nework connect bridge 容器名, 可以将该容器添加到bridge网络中