Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在开发人员环境中在docker容器上运行子域的简单方法_Docker_Boot2docker_Docker Compose - Fatal编程技术网

在开发人员环境中在docker容器上运行子域的简单方法

在开发人员环境中在docker容器上运行子域的简单方法,docker,boot2docker,docker-compose,Docker,Boot2docker,Docker Compose,我有docker容器用于生产 在“开发模式”中,它使用docker compose启动依赖项并将它们链接起来 容器内的应用程序运行一个站点(mycolsite.tld)及其子域(如api.mycolsite.tld) 我们所做的是让mycolsite.dev和api.mycolsite.dev,使用配置变量覆盖应用程序位置&dnsmasq将*.mycolsite.dev覆盖到127.0.0.1,这样集成测试就可以从api.mycolsite.dev下载 有没有一种利用docker compose

我有docker容器用于生产

在“开发模式”中,它使用docker compose启动依赖项并将它们链接起来

容器内的应用程序运行一个站点(
mycolsite.tld
)及其子域(如
api.mycolsite.tld

我们所做的是让
mycolsite.dev
api.mycolsite.dev
,使用配置变量覆盖应用程序位置&dnsmasq将
*.mycolsite.dev
覆盖到
127.0.0.1
,这样集成测试就可以从
api.mycolsite.dev
下载

有没有一种利用docker compose实现这一目标的好方法


我不想在主容器中运行其他进程。我不确定如何链接dnsmasq容器并将其设置为正确指向原始容器。我愿意指定子域列表并通过mount覆盖
/etc/hosts
,但我不能这样做,因为docker compose使用link覆盖主机。我还发现,指定额外的hostsfile很棘手。我想为本机linux docker和使用通过boot2docker VM代理的docker守护进程解决这个问题

对你有用吗?@thomaslevel,负责跨多个主机分配子域访问;我已经在express中完成了,我想问的是“假设您的DNS设置为,
*.test.local
映射到您的Docker主机的IP地址”问题的一部分——从Docker containerxip.io中,您可以映射创建IP的任何子域,只需以.xip.io结尾即可(例如,www.192.168.0.1.xip.io解析为192.168.0.1)您可以使用
mycolsite.127.0.0.1.xip.io
api.mycolsite.127.0.0.1.xip.io
作为主机名吗?另一个可以帮助您的资源:我不想依赖外部资源。。。