docker网络的使用
网络
docker的网络和iptables是结合在一起的。你在使用到docker网络的时候就会间接性的使用到iptables,如果要是有问题,那么优先从这里排查问题。
文档
创建一个网络
docker create network
查看docker的所有网络
docker network ls
docker的网络已经帮你映射好了网卡关系,你可以直接使用ping命令去访问对应的接口网络
➜ ~ ip a |grep ed3
8: br-ed35b450902b: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
inet 172.20.0.1/16 brd 172.20.255.255 scope global br-ed35b450902b
对于上面的网卡,你可以直接输入命令
ping 172.20.0.1这样直接访问对应的子网。
也可以在运行的时候修改对应的容器的docker的网络使用docker network
问题
- 如何创建和删除网络
docker network create -d bridge bb_net
docker network remove bb_net - 如何如何指定容器的网络
使用 --net <网络接口名称>
docker run --rm --name arch_test --net aa_net -itd archlinux/archlinux:latest bash - 在容器运行的时候可以指定网络吗?
通过命令docker network connect <容器名称> <网络接口>来指定容器运行的网络
对于上面的问题
将某个容器附加到指定的网络之中
# docker network connect <网络> <容器名称>
docker network connect 61b471aaabb9 my_1
创建一个网络
# 下面的这个-d是指代 driver 也就是网络模式,分别有两种 bridge、overlay
docker network create -d bridge my-bridge-network
通常使用的是bridge 如果是overlay则需要开启集群(实际上-d参数默认就是bridge)
属于在同一个网络之中的容器可以互相ping通。更详细的文档看这个
创建容器的时候指定网络
docker run -itd --network=<网络名称> archlinux/archlinux:latest bash

浙公网安备 33010602011771号