博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker容器网络设置
阅读量:6480 次
发布时间:2019-06-23

本文共 3461 字,大约阅读时间需要 11 分钟。

hot3.png

1. 默认网络

当你安装好Docker时,会自动生成3种网络模式。

$ docker network lsNETWORK ID          NAME                DRIVER7fca4eb8c647        bridge              bridge9f904ee27bf5        none                nullcf03ee007fb4        host                host

当然,docker不知提供了这种网络模式。你也可以用--network来指定你需要的网络模式。 在启动docker时,使用docker run --network=<NETWORK>选项来选择容器的网络模式,其中bridge模式时默认模式。 其中none模式就是一个只有127.0.0.1地址的容器,进入容器就可以看到

$ docker attach nonenetcontainerroot@0cb243cd1293:/# cat /etc/hosts127.0.0.1	localhost::1	localhost ip6-localhost ip6-loopbackfe00::0	ip6-localnetff00::0	ip6-mcastprefixff02::1	ip6-allnodesff02::2	ip6-allroutersroot@0cb243cd1293:/# ifconfiglo        Link encap:Local Loopback          inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:65536  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)root@0cb243cd1293:/#

host模式则是一个与宿主机配置相同的容器。 即与宿主机同IP,并会占用宿主机的端口。

2 bridge模式

桥接模式,也就是以宿主机为网关建立一个虚拟局域网。和以前的docker0非常类似,但是增加了一些新特性。

$ docker network create --driver bridge isolated_nw1196a4c5af43a21ae38ef34515b6af19236a3fc48122cf585e3f3054d509679b$ docker network inspect isolated_nw[    {        "Name": "isolated_nw",        "Id": "1196a4c5af43a21ae38ef34515b6af19236a3fc48122cf585e3f3054d509679b",        "Scope": "local",        "Driver": "bridge",        "IPAM": {            "Driver": "default",            "Config": [                {                    "Subnet": "172.21.0.0/16",                    "Gateway": "172.21.0.1/16"                }            ]        },        "Containers": {},        "Options": {},        "Labels": {}    }]$ docker network lsNETWORK ID          NAME                DRIVER9f904ee27bf5        none                nullcf03ee007fb4        host                host7fca4eb8c647        bridge              bridgec5ee82f76de3        isolated_nw         bridge

当你创建了network后,可以用docker run --network=<NETWORK>来启动容器。

$ docker run --network=isolated_nw -itd --name=container3 busybox8c1a0a5be480921d669a073393ade66a3fc49933f08bcc5515b37b8144f6d47c$ docker network inspect isolated_nw[    {        "Name": "isolated_nw",        "Id": "1196a4c5af43a21ae38ef34515b6af19236a3fc48122cf585e3f3054d509679b",        "Scope": "local",        "Driver": "bridge",        "IPAM": {            "Driver": "default",            "Config": [                {}            ]        },        "Containers": {            "8c1a0a5be480921d669a073393ade66a3fc49933f08bcc5515b37b8144f6d47c": {                "EndpointID": "93b2db4a9b9a997beb912d28bcfc117f7b0eb924ff91d48cfa251d473e6a9b08",                "MacAddress": "02:42:ac:15:00:02",                "IPv4Address": "172.21.0.2/16",                "IPv6Address": ""            }        },        "Options": {},        "Labels": {}    }]

3.docker_gwbridge模式

docker_gwbridge模式是docker在两种不同环境下自动创建的模式。

  • 当你创建或加入一个swarm集群时,docker会用docker_gwbridge与其他swarm节点通信。
  • 当没有容器网络可以提供外部连接时,Docker使用docker_gwbridge模式与其他网段的容器通信,所以容器可以连接其他网段的容器或swarm节点。 因为目前不用该模式,不深入了解。

4.指定网络

创建一个名为selfnet的网桥,并指定网段172.18.0.0

docker network create --subnet=172.18.0.0/16 selfnet

在selfnet网段内选一个IP进行指定

docker run -d -p 2001:2001 --net selfnet --ip 172.18.0.10 group/image-name -s 0.0.0.0 -k 123456 -m aes-256-cfb

其中,--net selfnet为我们之前创建的网桥,172.18.0.10为指定的IP,group/image-name 为docker影像名。

转载于:https://my.oschina.net/daidetian/blog/860687

你可能感兴趣的文章
javascript 使用btoa和atob来进行Base64转码和解码
查看>>
线程中的同步辅助类CountDownLatch
查看>>
weui 搜索框
查看>>
docker应用-3(搭建hadoop以及hbase集群)
查看>>
[svc]linux iptables实战
查看>>
delphi 查看编译版本
查看>>
MySQL学习笔记(七)使用AutoMySQLBackup工具自动备份MySQL数据库
查看>>
Web Frame 跨域调用Session 丢失问题
查看>>
重定向标准流
查看>>
WCF中的自定义集合类型传输
查看>>
虚拟CentOS访问Windows下共享文件(三)
查看>>
去掉‘为帮助保护您的安全,internet explorer已经限制此文件显示可能访问您的计算机的活动内容’提示...
查看>>
invalid initialization of non-const reference of type ‘int*&’ from a temporary of type ‘int*’...
查看>>
java server faces
查看>>
绑定List<T>到asp:Table控件
查看>>
Resource is out of sync with the file system解决办法
查看>>
Appfuse 使用
查看>>
3D引擎--可移植到Android的开源的引擎
查看>>
Java_tomcat thread dump 分析
查看>>
Excel中sumproduct函数的使用方法和用途
查看>>