Sto cercando di dockerizzare un'applicazione php. Nel file docker scarico l'archivio, lo estraggo ecc.
Tutto funziona bene, tuttavia se viene rilasciata una nuova versione, e aggiorno il file docker devo reinstallare l'applicazione, perché config.php viene sovrascritto.
Quindi ho pensato di poter montare il file come volume, come faccio con il database.
L'ho provato in due modi, con un volume e un percorso diretto.
finestra mobile-composizione:
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:
Che provoca l'errore:
E l'ho provato con un determinato percorso, come volume montato.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Tuttavia entrambi i modi non funzionano. Con il volume montato vedo che viene creato il caricamento.
Ma poi fallisce
/var/www/html/config.php \\ "causato \\" non una directory \\ "\" "
Se lo provo con
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker crea la cartella di caricamento e quindi una cartella config.php. Non è un file.
O c'è un altro modo per persistere nella configurazione?