Я намагаюся докерізувати додаток php. У dockerfile я завантажую архів, витягую його тощо.
Все працює добре, проте якщо виходить нова версія, і я оновлюю dockerfile, мені доведеться перевстановити додаток, оскільки config.php перезаписується.
Тому я подумав, що зможу змонтувати файл як об'єм, як це робиться з базою даних.
Я спробував це двома способами, з обсягом і прямим шляхом.
докер-композиція:
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:
Що призводить до помилки:
І я спробував це із заданою доріжкою, як змонтований том.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Однак обидва способи не працюють. Із встановленим томом я бачу, що завантаження створюється.
Але потім не вдається
/var/www/html/config.php \\ "викликало \\" не каталог \\ "\" "
Якщо я спробую це
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker створює папку завантаження, а потім папку config.php. Не файл.
Або є інший спосіб зберегти конфігурацію?