尝试与外部主机通信时,由于未知主机异常,docker镜像无法启动

时间:2018-12-31 07:57:53

标签: docker

我有一个spring boot服务,可以像spring boot app一样正常运行。我已经使用docker文件从中创建了docker映像。当映像启动时,应用程序似乎可以正常启动,直到尝试解析外部主机为止(我已经基于配置文件配置了一些外部服务,并且我正在开发配置文件中运行,它将与外部服务(如consule,mysql等)进行通信。它引发未知主机异常。相同的应用程序可以很好地运行,并且可以在本地计算机中作为Spring Boot应用程序/服务运行时与外部服务运行并与之通信。看来问题出在主机和docker容器之间,无法使用主机的dns。任何帮助,我该如何解决该问题?

1 个答案:

答案 0 :(得分:0)

来自Docker文档:

  

https://docs.docker.com/config/containers/container-networking/#ip-address-and-hostname

     

DNS服务

     

默认情况下,容器会继承Docker的DNS设置   守护程序,包括/ etc / hosts和/etc/resolv.conf。您可以覆盖   这些设置是基于每个容器的。

Flag         Description
--dns        The IP address of a DNS server. To specify multiple DNS servers, use 
             multiple --dns flags. If the container cannot reach any of the IP
             addresses you specify, Google’s public DNS server 8.8.8.8 is added, 
             so that your container can resolve internet domains.
--dns-search A DNS search domain to search non-fully-qualified hostnames. 
             To specify multiple DNS search prefixes, use multiple --dns-search flags.
--dns-opt    A key-value pair representing a DNS option and its value. See your
             operating system’s documentation for resolv.conf for valid options.
--hostname   The hostname a container uses for itself. Defaults to the container’s 
             ID if not specified.

另请参阅: