Docker容器网路使用

docker限制访问外网:sysctl net.ipv4.ip_forward=1

1可以外网,0禁止外网

bridge:桥接网络

默认情况下启动的Docker容器,都是使用 bridgeDocker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,DockerIP地址就变了

none:无指定网络

使用 --network=none docker 容器就不会分配局域网的IP

host: 主机网络

使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。

例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中。

创建自定义网络:(设置固定IP)

启动Docker容器的时候,使用默认的网络是不支持指派固定IP的

docker run -itd --net bridge --ip 172.17.0.10 Ubuntu:18.04 /bin/bash

因此,需要创建自定义网络,下面是具体的步骤

限制外网但是可以局域网:【删除网关】

route del default gw 192.168.25.250

route add default gw 192.168.25.250

创建自定义网络:

命令1docker network create --subnet=172.18.0.0/16 net

释义:创建自定义网络net,并指定网段:172.18.0.0/16

命令2docker network  create --driver overlay --opt encrypted --internal --subnet 172.20.0.0/16 net2

释义:创建网络,并禁止外网【不加端口映射时生效】

 

2. docker network create -d overlay --subnet=177.168.0.0/16  --gateway=177.168.1.100  --ip-range=177.168.1.0/24 my-net

不同网关ping不通

删除自定义网络:

命令:  docker network rm net2

释义:删除自定义网络net2

 

创建Docker容器并指定网络

命令:

docker run -itd --name t1 --net net --ip 172.18.0.2 ubuntu:18.04 /bin/bash

释义:

创建容器:指定网络net,指定ip为172.18.0.2,此IP为固定IP

posted @ 2019-05-09 14:41  Cool_Yang  阅读(1184)  评论(0编辑  收藏  举报