docker网络如何配置
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要为大家展示了"docker网络如何配置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"docker网络如何配置"这篇文章吧。docker的网络d
千家信息网最后更新 2025年12月02日docker网络如何配置
这篇文章主要为大家展示了"docker网络如何配置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"docker网络如何配置"这篇文章吧。
docker的网络
docker network
docker有3个默认网络
[root@srv00 ~]# docker network lsNETWORK ID NAME DRIVERb891bd36a3f1 bridge bridge 739cb6a018f7 host host d0e062995920 none null
默认容器都是运行在 bridge 网络下
运行个容器测试下
[root@srv00 ~]# docker run -itd --name nw centos5ffb7062805af03b00ecc6160a78c855a7d1b7c32bfcc14d78ce036f2df9a517[root@srv00 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5ffb7062805a centos "/bin/bash" About a minute ago Up About a minute nw
--name给容器命名,否则docker自动命名.
查看bridge网络下的容器有哪些:
[root@srv00 ~]# docker network inspect bridge[ { "Name": "bridge", "Id": "b891bd36a3f12dc2bb1f4526c0fc2741c0f8ccf6011071116840b6b31f9b20ac", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16", "Gateway": "172.17.42.1" } ] }, "Internal": false, "Containers": { "5ffb7062805af03b00ecc6160a78c855a7d1b7c32bfcc14d78ce036f2df9a517": { "Name": "nw", "EndpointID": "65f410576be2d9aadb697ebb820e372ffb2073db7868ec001e87da5c8cf40d71", "MacAddress": "02:42:ac:11:00:02", "IPv4Address": "172.17.0.2/16", "IPv6Address": "" }, "616d942216ee7050ecff07ca66d2d7583d4093820e9d1448f96b417d7d779408": { "Name": "high_shockley", "EndpointID": "de09ec8b400b2724238d78ece5ff24201b7baffcdb7279809ea6b1beae5fec1d", "MacAddress": "02:42:ac:11:00:06", "IPv4Address": "172.17.0.6/16", "IPv6Address": "" }, "dead20777b6c1609ab968966b3589904d44f8a12c124c178fd5cb540052cce6f": { "Name": "gloomy_cray", "EndpointID": "1ba62447dd2d89165fc7079442a2016fb1c44caa02cca7cda6bf363eec2841da", "MacAddress": "02:42:ac:11:00:07", "IPv4Address": "172.17.0.7/16", "IPv6Address": "" }, "e709f66c9bdbcc20f92b804e483bb566bc4ee934fa1e2e5cdbf4759f7ac1923c": { "Name": "tiny_shockley", "EndpointID": "a070387813fc17fd54ab389b4afe40c80c5dbbe42c86983a89a84a65cf32e378", "MacAddress": "02:42:ac:11:00:01", "IPv4Address": "172.17.0.1/16", "IPv6Address": "" } }, "Options": { "com.docker.network.bridge.default_bridge": "true", "com.docker.network.bridge.enable_icc": "true", "com.docker.network.bridge.enable_ip_masquerade": "true", "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", "com.docker.network.bridge.name": "docker0", "com.docker.network.driver.mtu": "1500" }, "Labels": {} }]可以看到刚运行的容器nw的ip是
172.17.0.2
我们可以将某个容器从网络中移除
[root@srv00 ~]# docker exec -it high_shockley /bin/bash[root@616d942216ee /]# ping 172.17.0.2PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.100 ms64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.065 ms^C--- 172.17.0.2 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 999msrtt min/avg/max/mdev = 0.065/0.082/0.100/0.019 ms[root@616d942216ee /]# exitexit
先进入同网络的另一个容器ping,可以ping通.
[root@srv00 ~]# docker network disconnect bridge nw[root@srv00 ~]# docker exec -it high_shockley /bin/bash[root@616d942216ee /]# ping 172.17.0.2 PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.^C--- 172.17.0.2 ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 1999ms[root@616d942216ee /]# exitexit[root@srv00 ~]# docker network inspect bridge...
可以看到ping不通.也不在bridge网络里了.通过
docker inspect nw已经没有ip地址了.
创建自己的 bridge network
docker 支持 两个网络驱动类型'bridge'和overlay. 'bridge' 是运行在统一主机上的网络.overlay可以包括多个主机.
这里我们先创建自己的'bridge'网络
[root@srv00 ~]# docker network create -d bridge mynetwork072dbe030461bc1f7e1bc4829017f13ade899b09b606d12dfb8b6dec496a08bf[root@srv00 ~]# docker network lsNETWORK ID NAME DRIVERb891bd36a3f1 bridge bridge 739cb6a018f7 host host 072dbe030461 mynetwork bridge d0e062995920 none null [root@srv00 ~]# docker network inspect mynetwork[ { "Name": "mynetwork", "Id": "072dbe030461bc1f7e1bc4829017f13ade899b09b606d12dfb8b6dec496a08bf", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1/16" } ] }, "Internal": false, "Containers": {}, "Options": {}, "Labels": {} }]
mynetwork下一个容器都没有
运行个容器在mynetwork下
[root@srv00 ~]# docker run -itd --net mynetwork --name nw1 centosc5b59a1e180753301460b597b87b1608b00ebe2b8620b41b8851938c6eab8044[root@srv00 ~]# docker network inspect mynetwork[ { "Name": "mynetwork", "Id": "072dbe030461bc1f7e1bc4829017f13ade899b09b606d12dfb8b6dec496a08bf", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1/16" } ] }, "Internal": false, "Containers": { "c5b59a1e180753301460b597b87b1608b00ebe2b8620b41b8851938c6eab8044": { "Name": "nw1", "EndpointID": "ed444519fd958ddd83d64f62719f485f62d284f2a647536e4f48a8128e62ad5e", "MacAddress": "02:42:ac:12:00:02", "IPv4Address": "172.18.0.2/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} }]测试下互通性 先把nw连到bridge网络
[root@srv00 ~]# docker network connect bridge nw[root@srv00 ~]# docker exec -it nw /bin/bash [root@5ffb7062805a /]# ping 172.18.0.2 PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.^C--- 172.18.0.2 ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 1999ms
不同网络中的容器不通.
将nw也加入到mynetwork
[root@srv00 ~]# docker network connect mynetwork nw[root@srv00 ~]# docker network inspect mynetwork[root@srv00 ~]# docker network inspect bridge
可以看到2个网络中都有nw
[root@srv00 ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nw172.17.0.2172.18.0.3[root@srv00 ~]# docker exec -it nw /bin/bash [root@5ffb7062805a /]# ping 172.18.0.2 -c3PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.093 ms64 bytes from 172.18.0.2: icmp_seq=2 ttl=64 time=0.057 ms64 bytes from 172.18.0.2: icmp_seq=3 ttl=64 time=0.076 ms--- 172.18.0.2 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2000msrtt min/avg/max/mdev = 0.057/0.075/0.093/0.016 ms[root@5ffb7062805a /]# ping 172.17.0.6 -c3PING 172.17.0.6 (172.17.0.6) 56(84) bytes of data.64 bytes from 172.17.0.6: icmp_seq=1 ttl=64 time=0.102 ms64 bytes from 172.17.0.6: icmp_seq=2 ttl=64 time=0.080 ms^C--- 172.17.0.6 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 999msrtt min/avg/max/mdev = 0.080/0.091/0.102/0.011 msnw 这台容器有两个ip,同时在两个网段中,两个网络中的容器都可以互通.
以上是"docker网络如何配置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
网络
容器
运行
两个
配置
内容
篇文章
主机
学习
帮助
测试
不同
同时
地址
多个
易懂
更多
条理
知识
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发过程中来自用户
网上购物系统数据库模式定义
AMD节点服务器
软件主要功能在服务器 破解
襄阳云艺互联网科技
onenet 采用什么数据库
正方数据库
英语演讲稿有关于网络安全
昌吉软件开发学院
视障导航软件开发力度
mc网易版能玩速建的服务器
网络安全保护学习心得体会
计算机网络技术毕业设置
添加网络安全性选择哪个
曙光服务器如何装linux
软件开发休假是怎样的
廊坊助企网络技术
吴中区大数据软件开发优惠吗
信息函数与数据库
数据库自动化巡检脚本
数据库专业par法则
嘉兴租房软件开发
医院信息网络安全监管记录分析
局域网服务器如何扩展
mysql备份多个数据库
上海正规软件开发服务保障
人力资源网络技术专业怎么样
梦幻古龙数据库
江苏林明峰做软件开发
潍坊平台软件开发哪家好