[英]docker ping unknown Host exception
docker容器在以下情況下給出unknowHost異常
ping "private Network hostname"
ping:未知主機
但是當我通過IP ping時,它會產生結果
傳輸8個數據包,接收8個數據包,丟包0%
解決方法似乎是將主機條目添加到正在運行的docker容器中的/etc/hosts
文件中,但是我在K8平台中使用了docker,該docker動態創建了新容器,因此無法手動添加主機條目。 我想知道為什么它不能解析主機名。 任何幫助表示贊賞:)
您可以在Pod Spec中添加hostAliases
。 有關詳細信息, 請參閱官方文檔 。
這是使用hostAliases
的Pod
示例:
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "8.8.8.8"
hostnames:
- "foo.local"
- "bar.local"
containers:
- name: cat-hosts
image: busybox
command:
- ping
args:
- "foo.local"
如果我們看到吊艙的日志:
$ kubectl logs po/hostaliases-pod
PING foo.local (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=61 time=51.333 ms
64 bytes from 8.8.8.8: seq=1 ttl=61 time=59.600 ms
....
如官方文檔中所述,存在一些限制 :
僅1.7+支持HostAlias。
1.7中的HostAlias支持僅限於非hostNetwork Pod,因為kubelet僅管理非hostNetwork Pods的hosts文件。
在1.8中,無論網絡配置如何,所有Pod都支持HostAlias。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.