Ich habe eine docker-compose.yaml-Datei und dann dockerfiles. Nun, ich möchte nicht den ganzen Host, Port, Passwort in diesem docker-compose/dockerfile schreiben. Stattdessen möchte ich alle diese Konfigurationen in einer anderen Datei behalten. Ich weiß, die Hälfte der Anforderung könnte durch Verwendung der .env-Datei erreicht werden, wo ich meine Umgebungsvariablen behalten kann, aber dann ist es gut, alle Konfigurationen in einer einzigen Datei (main.cfg) zu behalten, die von anderen Komponenten verwendet werden könnte .So importieren Sie Konfigurationen in Dockerfile.
0
A
Antwort
0
Sie können Volumes verwenden, um eine Datei oder einen gesamten Ordner für einen Andockdienst freizugeben. Hier ist ein Beispiel von einer MySQL, die eine Datenbank teilt Andockfenster:
version: '3'
services:
mysql-database:
image: mysql
container_name: mysql-database
volumes:
- ./mysql/docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d
env_file:
- .env
ports:
- 3306:3306
Die Verzeichnisstruktur ist wie folgt:
BaseDirectory
|____docker-compose.yml
| mysql
| |____docker-entrypoint-initdb.d
| |____sqldb1.gz
| |____sqldb2.gz
In obigem Beispiel alle Dateien innerhalb docker-entrypoint-initdb.d
vom Host, an den gemeinsamen Docker Container, und kann von innerhalb des Containers auch auf /docker-entrypoint-initdb.d
zugegriffen werden. Sie können einzelne Dateien auch mit einem genauen Dateinamen mounten. Zum Beispiel:
volumes:
- ./mysql/docker-entrypoint-initdb.d/sqldb1.gz:/docker-entrypoint-initdb.d/sqldb1.gz
Als ich eine Datenbank geteilt haben, in ähnlicher Weise können Sie eine Konfigurationsdatei teilen und legen Sie es auf den genauen Ort, den Sie in der Docker wollen.
Verwandte Themen
- 1. So behandeln Sie mehrere Konfigurationen mit Chef
- 2. Typesafe Config: So erstellen Sie bedingte Konfigurationen
- 3. So aktualisieren Sie die Konfigurationsdatei über Dockerfile
- 4. So importieren Sie hierarchische Ordnerstildaten
- 5. So importieren Sie eine Antwortdatei
- 6. So importieren Sie die Spezifikationsbibliothek
- 7. So importieren Sie XCTest Suite
- 8. So importieren Sie * mit __import__
- 9. So importieren Sie FLVs in Flash
- 10. So importieren Sie bootstrap.css in sails.js
- 11. So importieren Sie Cryptojs in Jmeter
- 12. So importieren Sie benutzerdefinierte XML in mysql
- 13. So importieren Sie Tags in Gitlab
- 14. So importieren Sie Pymaps in Python 2.7
- 15. So importieren Sie Java-Datei in Eclipse
- 16. So importieren Sie Daten in SAP
- 17. So importieren Sie Ionen-Entfernungsmesser in Aurelia
- 18. So importieren Sie ein Modell in TensorFlow
- 19. So importieren Sie aws_lambda_permission in terraform
- 20. So importieren Sie verschachtelte Objekte in ES6
- 21. So importieren Sie Shape-Datei in MySQL
- 22. So importieren Sie Dokumente. * In akka project?
- 23. So importieren Sie Bibliotheken in einen Texteditor
- 24. So importieren Sie externes Javascript in reactjs
- 25. So importieren Sie in Typoskript ohne Moduldeklaration
- 26. So importieren Sie Äußerungen in LUIS.ai
- 27. So stellen Sie Dockerfile und Anwendungsdateien auf boot2docker
- 28. So konfigurieren Sie ein Jenkins-Plugin von einer Dockerfile
- 29. So mounten Sie ein Host-Volume von Dockerfile
- 30. Vergleichen Sie Konfigurationen in Visual Studio?
Wenn Sie wirklich wollen, dass eine Konfigurationsdatei auf dem Host zur Laufzeit von den Docker-Containern gelesen werden soll, können Sie ein Volume erstellen, das diese Datei enthält – Joel
@Joel: Danke Joel. Aber dann, wie man es von dieser Konfigurationsdatei liest? Als Umgebungsvariablen? – user208859