【问题标题】:Symlinked Dockerfile for environments用于环境的符号链接 Dockerfile
【发布时间】:2016-04-13 14:15:39
【问题描述】:

我正在尝试寻找一种优雅的方式来为我的环境拆分/维护我的 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

除了符号链接的 Dockerfile 之外,一切似乎都可以正常工作:

构建网络
错误:找不到指定的 Dockerfile:Dockerfile

2 个问题:

  • 您觉得我的技术还可以吗,或者您是否看到任何警告/改进?
  • 如何让 docker 接受符号链接的 Dockerfile?

【问题讨论】:

  • 你在使用 boot2docker 吗?那里不支持符号链接。
  • 一定是这样。我必须为我的环境找到另一种解决方案。

标签: docker production-environment docker-compose


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-26
    • 2013-02-10
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多