Ich versuche, eine PHP-Anwendung anzudocken. In der Docker-Datei lade ich das Archiv herunter, extrahiere es usw.
Alles funktioniert einwandfrei, aber wenn eine neue Version veröffentlicht wird und ich die Docker-Datei aktualisiere, muss ich die Anwendung neu installieren, da die config.php überschrieben wird.
Also dachte ich, ich kann die Datei als Volume mounten, so wie ich es mit der Datenbank mache.
Ich habe es auf zwei Arten versucht, mit einem Volume und einem direkten Pfad.
Docker-Compose:
version: '2'
services:
app:
build: src
ports:
- "8080:80"
depends_on:
- mysql
volumes:
- app-conf:/var/www/html/upload
- app-conf:/var/www/html/config.php
environment:
DB_TYPE: mysql
DB_MANAGER: MysqlManager
mysql:
image: mysql:5.6
container_name: mysql
volumes:
- mysqldata:/var/lib/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
volumes:
mysqldata:
app-conf:
Was zu dem Fehler führt:
Und ich habe es mit einem bestimmten Pfad versucht, als gemountetes Volume.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Beide Möglichkeiten funktionieren jedoch nicht. Mit dem gemounteten Volume sehe ich, dass ein Upload erstellt wird.
Aber dann scheitert mit
/var/www/html/config.php \\ "verursacht \\" kein Verzeichnis \\ "\" "
Wenn ich es mit versuche
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker erstellt den Upload-Ordner und anschließend einen config.php-Ordner. Keine Datei.
Oder gibt es eine andere Möglichkeit, die Konfiguration beizubehalten?