用于环境的符号链接Dockerfile

时间:2016-04-13 14:15:40

标签: docker production-environment docker-compose

我试图找到一种优雅的方法来分割/维护我的环境中的docker配置。

这是我当前的目录树:

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

如您所见,我的服务配置都包含在每个环境的子目录中。

我的docker-compose.yml基于dev/docker-production.yml对其进行扩展并加载prod/

为了便于维护,我尝试在prod资源上使用符号链接指向dev的继承文件,具体取决于我是否需要更改它们。这将允许我对整个服务目录进行符号链接或仅对其中的某些文件进行符号链接。

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

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

  

建立网站
  错误:找不到指定的Dockerfile:Dockerfile

2个问题:

  • 我的技术对您来说是否合适,或者您是否看到任何警告/改进?
  • 如何让docker接受符号链接的Dockerfiles?

1 个答案:

答案 0 :(得分:1)

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

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