Usiłuję dokować aplikację PHP. W pliku dokera pobieram archiwum, rozpakowuję go itp.
Wszystko działa dobrze, jednak jeśli zostanie wydana nowa wersja i zaktualizuję plik docker, muszę ponownie zainstalować aplikację, ponieważ plik config.php zostanie nadpisany.
Pomyślałem więc, że mogę zamontować plik jako wolumin, tak jak w przypadku bazy danych.
Próbowałem na dwa sposoby, z woluminem i bezpośrednią ścieżką.
dokowanie-komponowanie:
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:
Co powoduje błąd:
I próbowałem z podaną ścieżką, jako zamontowany wolumin.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Jednak oba sposoby nie działają. Po zamontowaniu woluminu widzę, że przesyłanie jest tworzone.
Ale potem się nie udaje
/var/www/html/config.php \\ „spowodował \\” nie katalog \\ "\"
Jeśli spróbuję
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker tworzy folder przesyłania, a następnie folder config.php. Nie plik.
Czy istnieje inny sposób na utrwalenie konfiguracji?