docker - Docker 容器不使用主机 DNS
问题描述
我使用名为“后端网络”的自定义 docker 网络
[root@localhost docker]# docker inspect backend-network
{
"Name": "backend-network",
"Id": "18180c0c1ef14460a25b66b7fb971e090f7bb85f549921704d11937af70766c7",
"Created": "2018-08-07T12:36:02.4175991+09:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {
"531c1ecbe993ee13e632fbd9697b392ee989d756ff60c07eae96a700901aaa01": {
"Name": "splash",
"EndpointID": "c9e4e7ec319ecf9cdcbb9ca50170efb63c4fca33bcbbabb584c4a4e41576b15d",
"MacAddress": "02:42:ac:12:00:05",
"IPv4Address": "172.18.0.5/16",
"IPv6Address": ""
},
"c6a5aa827e901b6b6d7b35d4a8be5a5b2fc73f1a7a385416ce200e847d400b21": {
"Name": "flask",
"EndpointID": "5d5abb3bc964d251379a7f6a84cb5b5d9bddac9b778f2222d52aba657b28dd34",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"da839143fb58d738e38922c669efa332c545fee4dd0a5b733583ed7b8df60875": {
"Name": "django",
"EndpointID": "f046e9cc93f895b12ce1c4de983fbe0e54a3904460c04db3ba238ba84ba82327",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
},
"fc9e6ef183c81a3fe7dd29ecb5c17c0dc27fb803ef8e214d4f344a2b3407ec54": {
"Name": "mongo",
"EndpointID": "ab94182f4b175f105ab01ccbbc43b7dad37cf5506eee831168fd5bd9094ccde8",
"MacAddress": "02:42:ac:12:00:04",
"IPv4Address": "172.18.0.4/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
但是每个 Container 都没有使用主机 DNS。
主机 DNS 是。
[root@localhost docker]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.88.1
容器 DNS 是
(django) root@da839143fb58:/opt/django_backend/scrapy_app# cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0
我加了
名称服务器 192.168.88.1
容器的resolv.conf,它可以工作但请求太长。
我想首先搜索
名称服务器 127.0.0.11
并搜索
名称服务器 192.168.88.1
如何将 docker-network 设置为托管 dns?
消除
名称服务器 127.0.0.11
然后不要按名称与其他容器通信。喜欢
(django) root@da839143fb58:/opt/django_backend/scrapy_app# ping splash
ping: splash: Name or service not known
解决方案
推荐阅读
- asp.net-core - 获取 RedirectToPage 生成的 URL ASP.NET Core
- python - 如何解决 seaborn 和 geopandas 中超长图例栏的问题
- gtk3 - 在 GtkEntryCompletion 中包含 GtkTreeStore 的父项和子项
- c# - Linq GROUP BY 和 SUM 可为空长
- javascript - 如何计算 4x3 数组中的所有可能结果?
- javascript - 当我通过 d3.json 加载时,geojson 层不显示
- java - 防止自定义 Bean 内的地图中的空值通过 Jackson 序列化
- node.js - 仅在 mysql 中使用 knex 的某些情况下为表列添加唯一性
- angular - HttpParams 不发送带有空白字符串的参数
- python - Python struct.unpack("i", bytearray(data)) 到 Swift 4