用于环境的Symlinked Dockerfile

我试图find一个优雅的方式来分解/维护我的环境中的dockerconfiguration。

这是我目前的目录树:

docker-compose.yml docker-production.yml dev/ web/ Dockerfile nginx.conf ... app/ Dockerfile db/ Dockerfile prod/ web/ Dockerfile app/ Dockerfile db/ Dockerfile 

正如你所看到的,我的服务configuration都包含在每个环境的子目录中。

docker-compose.yml是基于dev/docker-compose.yml docker-production.yml扩展它并加载prod/

为了更容易的可维护性,我试图使用指向从devinheritance文件prod资源的符号链接取决于我是否需要更改它们。 这将允许我符号链接整个服务目录或其上的某些文件。

 prod/ web/ Dockerfile -> ../../dev/web/Dockerfile nginx.conf app/ -> ../dev/app db/ -> ../dev/db 

所有似乎工作正常,但符号链接的Dockerfiles:

build立networking
错误:找不到指定的Dockerfile:Dockerfile

2个问题:

  • 我的技术对你来说看起来好吗?还是你看到了一些警告/改进?
  • 我怎样才能让docker接受符号链接的Dockerfiles?

正如我在评论中提到的,使用boot2docker意味着不支持符号链接。

看到Cannot locate specified Dockerfile: Dockerfile预计Cannot locate specified Dockerfile: Dockerfile ,特别是如果在主机(MacOs)上创build符号链接并由boot2docker装载(不会很好地解释该符号链接)