环境的符号链接 Dockerfile
Symlinked Dockerfile for environments
我正在尝试找到一种优雅的方式来 split/maintain 我的 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 之外,一切似乎都工作正常:
Building web
ERROR: Cannot locate specified Dockerfile: Dockerfile
2 个问题:
- 我的技术对你来说还可以吗?或者你看到任何 caveat/improvement 吗?
- 如何让 docker 接受符号链接的 Dockerfiles?
正如我在评论中提到的,使用 boot2docker 意味着不支持符号链接。
预计会看到 Cannot locate specified Dockerfile: Dockerfile
,特别是如果符号链接是在主机 (MacOs) 上创建并由 boot2docker 安装的(它不会很好地解释该符号链接)
我正在尝试找到一种优雅的方式来 split/maintain 我的 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 之外,一切似乎都工作正常:
Building web
ERROR: Cannot locate specified Dockerfile: Dockerfile
2 个问题:
- 我的技术对你来说还可以吗?或者你看到任何 caveat/improvement 吗?
- 如何让 docker 接受符号链接的 Dockerfiles?
正如我在评论中提到的,使用 boot2docker 意味着不支持符号链接。
预计会看到 Cannot locate specified Dockerfile: Dockerfile
,特别是如果符号链接是在主机 (MacOs) 上创建并由 boot2docker 安装的(它不会很好地解释该符号链接)