我试图找到一种优雅的方法来分割/维护我的环境中的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个问题:
答案 0 :(得分:1)
正如我在评论中提到的,使用boot2docker意味着不支持符号链接。
预计会看到Cannot locate specified Dockerfile: Dockerfile
,特别是如果符号链接是在主机上创建的(MacOs)并由boot2docker挂载(它不能很好地解释该符号链接)