我在 Synology NAS 上运行 docker 容器。所有使用主机驱动程序的容器都具有网络连接,但使用桥接驱动程序的容器都没有网络连接。过去它可以工作,但几个月前我的一个实验容器遇到了网络问题
环境: 群晖 DS218+ DSM 6.2.3-25426 更新 2 10 GB 内存
为了简化问题的描述,我遵循了 docker 的教程:
docker run –dit --name alpine1 alpine ash
docker run –dit --name alpine2 alpine ash
容器的 IP 地址为 172.17.0.2 和 172.17.0.3。当我连接到 alpine1 时,我无法使用其 IP 地址 ping 到 alpine2(因为默认网桥不进行名称解析)
我还尝试使用用户定义的桥:
docker network create –driver bridge test
并将容器连接到该网络(并断开它们与默认桥接网络的连接)
bash-4.3# docker network inspect test
[
{
"Name": "test",
"Id": "e0e203000f5cfae8103ed9b80dce113633e0e198c542f943ac2e7026cb684784",
"Created": "2020-12-22T22:47:08.331525073+01:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.22.0.0/16",
"Gateway": "172.22.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"3da4fda1508743b36540d6848c5334c84c3c9c02df88170e617d08f15e85999b": {
"Name": "alpine1",
"EndpointID": "ccf4be3f89c45dc73183210fafcfdafee9bbe30309ef15cf27e37bbb3783ea58",
"MacAddress": "02:42:ac:16:00:03",
"IPv4Address": "172.22.0.3/16",
"IPv6Address": ""
},
"c024024eb5a0e57720f7c2abe76ea5f5396a29eb02addd1f60d23075fcfcad78": {
"Name": "alpine2",
"EndpointID": "d4a8cf285d6dae7e8b7f96426a390b73ea800a72bf1739b0ea88c122de975650",
"MacAddress": "02:42:ac:16:00:02",
"IPv4Address": "172.22.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
在这种情况下,我也无法从另一个容器 ping 通另一个容器。 除了DSM的更新之外,我还升级了内存。不要认为这与问题有任何关系,但你永远不知道