docker network

docker network

管理docker 网络

#创建docker network(网络类型有bridge、host、none,默认bridge)
docker network create [OPTIONS] NETWORK
#使用--driver指定创建时使用的驱动,Overlay
#查看docker network
docker network ls [OPTIONS]
#删除network
docker network rm NETWORK [NETWORK...]
#删除所有没用的network
docker network prune [OPTIONS]
#将一个容器连接到一个network
docker network connect [OPTIONS] NETWORK CONTAINER
#将一个容器和一个network的连接断开
docker network disconnect [OPTIONS] NETWORK CONTAINER
#查看网络详细信息
docker network inspect [OPTIONS] NETWORK [NETWORK...]
#查看桥接网络详细信息
docker network inspect bridge

关于Overlay
在docker swarm 中,manager节点创建一个overlay网络,该网络只对swarm中的中的节点生效,当使用该网络创建service时,manager将自动拓展overlay网络到所有分配工作的节点。

docker network create \
--driver overlay \
--subnet 10.0.0.0/24 \
--gateway 10.0.0.1 \
test-overlay
除了在docker swarm中使用overlay,能够通过Consul, Etcd, and ZooKeeper 管理

关于docker_gwbridge
docker_gwbridge是docker自动创建的bridge网络,当docker swarm init或docker swarm join的时候,docker 就会自动生成这样一个网络用于通信。或者当某个容器和外部进行通信时,将使用docker_gwbridge。docker_gwbridge使用的是overlay网络驱动。

容器端口暴露到宿主机

#运行docker run是使用-p将容器端口暴露到宿主机端口(不指定宿主机端口将随机分配一个端口)
docker run -it -d -p 80 nginx
#可以指定容器暴露到宿主机的具体端口,8080是宿主机端口
docker run -it -d -p 8080:80 nginx

使用proxy server

详情见:https://docs.docker.com/engine/userguide/networking/#use-a-proxy-server-with-containers
创建~/.config.json
添加

{
"proxies":
{
"default":
{
"httpProxy": "http://127.0.0.1:3001",
"noProxy": "*.test.example.com,.example2.com"
}
}
}

在/etc/docker/daemon.json中定义也是可以的

docker与iptables

详见:https://docs.docker.com/engine/userguide/networking/#docker-and-iptables

#查看规则
iptables -t nat -L

#docker DNS
docker中有内嵌的DNS,因此在同一docker网络中的容器之间能够使用容器名互相通信。
在不同的网络(即使使用相同的驱动)中的容器无法使用容器名通信。
一个容器可以添加到多个网络中。

--link可以实现同一驱动下不同网络之间的通信。

docker swarm集群之间通信需要为每个节点开启以下端口

Port 7946 TCP/UDP for container network discovery.
Port 4789 UDP for the container overlay network.

转载于:https://blog.51cto.com/13323775/2060895

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值