繁体   English   中英

Windows的Docker-无法解析容器域名

[英]Docker for Windows - container domain name cannot be resolved

我想使用docker-compose在本地计算机上设置开发人员环境。 而且我正在尝试为我的网站分配一些预定义的域名。 它必须是一个类似于app1.myapps.test的三级域,而不仅仅是app1

我希望Docker使用两个属性hostnamedomainname自动分配这些主机名,而不是将静态IP分配给容器并将这些IP手动添加到hosts文件。

我的Docker撰写文件为:

version: '3'
services:
  app1:
    build: .
    container_name: app-1
    domainname: myapps.test
    hostname: app1

尝试打开http://app1.myapps.test/并看到错误,告诉我DNS地址无法解析。 如果我删除属性domainname: myapps.test那么它将正常工作,并且我能够通过主机名http:// app1 /访问我的网站。

将设置更改为(无域名)

hostname: app1.myapps.test

或者

domainname: myapps.test
hostname: app1.myapps.test

也没有帮助。

Docker DNS是否可以设置多级域以及选项domainname如何工作? 我想念什么吗?

是的,您错过了一些内容,但是由于撰写中的名称重复

version: '3'
services:
  app1:
    build: .
    container_name: app-1
    domainname: myapps.test
    hostname: app1

如果您将其更改为下面

version: '3'
services:
  app1:
    build: .
    container_name: app-1

它仍然应该工作。 当你说

我可以通过主机名http:// app1 /访问我的网站。

那是因为它是服务的名称。 不是因为您指定了hostname: app1 因此,您真正需要的是网络别名。 并且由于您使用的是默认网络。 您可以使用以下内容

version: '3'
services:
  app1:
    build: .
    container_name: app-1
    hostname: app1
    networks:
      default:
        aliases:
          - app1.myapps.test

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM