Estou tentando dockerize um aplicativo php. No arquivo docker, eu baixa o arquivo, extraio-o etc.
Tudo funciona bem, no entanto, se uma nova versão for lançada e eu atualizar o arquivo docker, tenho que reinstalar o aplicativo, porque o config.php é substituído.
Então, pensei em montar o arquivo como um volume, como faço com o banco de dados.
Eu tentei de duas maneiras, com um volume e um caminho direto.
docker-compor:
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:
O que resulta no erro:
E eu tentei com um determinado caminho, como um volume montado.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
No entanto, os dois lados não estão funcionando. Com o volume montado, vejo que o upload é criado.
Mas então falha com
/var/www/html/config.php \\ "causou \\" não um diretório \\ "\" "
Se eu tentar com
/src/docker/myapp/upload/config.php:/var/www/html/config.php
O Docker cria a pasta de upload e, em seguida, uma pasta config.php. Não é um arquivo.
Ou existe outra maneira de persistir na configuração?