簡體   English   中英

docker ping未知主機異常

[英]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 有關詳細信息, 請參閱官方文檔

這是使用hostAliasesPod示例:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM