Docker for Windows – 容器域名无法parsing
我想用docker-compose
在本地机器上设置开发环境。 我正在尝试为我的网站分配一些预定义的域名。 它必须是像app1.myapps.test这样的三级域名,而不仅仅是app1 。
我希望Docker使用两个属性主机名和域名自动分配这些主机名,而不是将静态IP分配给容器,并手动将这些IP添加到hosts
文件。
我的Docker撰写文件是:
version: '3' services: app1: build: . container_name: app-1 domainname: myapps.test hostname: app1
试图打开http://app1.myapps.test/ ,看到错误告诉我,DNS地址无法parsing。 如果我删除属性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
。 所以你真正需要的是networking别名。 而且因为你正在使用默认networking。 你可以使用下面的东西
version: '3' services: app1: build: . container_name: app-1 hostname: app1 networks: default: aliases: - app1.myapps.test