Estoy tratando de dockerizar una aplicación php. En el dockerfile descargo el archivo, lo extraigo, etc.
Todo funciona bien, sin embargo, si se lanza una nueva versión y actualizo el dockerfile, tengo que reinstalar la aplicación, porque se sobrescribe el config.php.
Así que pensé que podía montar el archivo como un volumen, como hago con la base de datos.
Lo intenté de dos maneras, con un volumen y una ruta directa.
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:
Lo que da como resultado el error:
Y lo probé con una ruta determinada, como un volumen montado.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Sin embargo, ambas formas no funcionan. Con el volumen montado veo que se crea la carga.
Pero luego falla con
/var/www/html/config.php \\ "causó \\" no un directorio \\ "\" "
Si lo intento con
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker crea la carpeta de carga y luego una carpeta config.php. No es un archivo
¿O hay otra forma de persistir la configuración?