Ich versuche eine elegante Möglichkeit zu finden, meine Docker-Konfigurationen für meine Umgebungen aufzuteilen/zu verwalten.Symlinked Dockerfile für Umgebungen
Hier ist mein aktueller Verzeichnisbaum:
docker-compose.yml
docker-production.yml
dev/
web/
Dockerfile
nginx.conf
...
app/
Dockerfile
db/
Dockerfile
prod/
web/
Dockerfile
app/
Dockerfile
db/
Dockerfile
Wie Sie sehen können, ist meine Dienste Config jeweils in ein Unterverzeichnis jeder Umgebung enthalten.
Mein docker-compose.yml
basiert auf dev/
und docker-production.yml
erweitern sie und lädt prod/
Für eine einfachere Wartbarkeit, ich versuche Symlinks auf den prod
Ressourcen zu nutzen, um vererbte Dateien von dev
zeigt je nachdem, ob ich brauchte, um sie zu ändern oder nicht. Dies würde mir erlauben, ein gesamtes Dienstverzeichnis oder nur bestimmte Dateien darauf zu symbolisieren.
prod/
web/
Dockerfile -> ../../dev/web/Dockerfile
nginx.conf
app/ -> ../dev/app
db/ -> ../dev/db
scheint Alles gut zu funktionieren, aber für die Symlink Dockerfiles:
Building web
ERROR: Cannot locate specified Dockerfile: Dockerfile
2 Fragen:
- Hat meine Technik zu Ihnen in Ordnung erscheinen oder sehen Sie jede Einschränkung/Verbesserung?
- Wie kann ich docker akzeptieren symlinked Dockerfiles?
Verwenden Sie boot2docker? Symlink wird dort nicht unterstützt. – VonC
Das muss es sein. Ich muss eine andere Lösung für meine Umgebungen finden. –