Saya mencoba membuat aplikasi php. Di dockerfile saya mengunduh arsip, mengekstraknya dll.
Semuanya berfungsi dengan baik, namun jika versi baru dirilis, dan saya memperbarui dockerfile saya harus menginstal ulang aplikasi, karena config.php akan ditimpa.
Jadi saya pikir saya bisa me-mount file sebagai volume, seperti yang saya lakukan dengan database.
Saya mencobanya dua cara, dengan volume dan jalur langsung.
komposisi buruh pelabuhan:
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:
Yang menghasilkan kesalahan:
Dan saya mencobanya dengan jalur yang diberikan, sebagai volume yang dipasang.
/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Namun kedua cara tersebut tidak berfungsi. Dengan volume yang dipasang saya melihat bahwa unggahan dibuat.
Tetapi kemudian gagal dengan
/var/www/html/config.php \\ "menyebabkan \\" bukan direktori \\ "\" "
Jika saya mencobanya
/src/docker/myapp/upload/config.php:/var/www/html/config.php
Docker membuat folder unggah dan kemudian folder config.php. Bukan file.
Atau adakah cara lain untuk mempertahankan konfigurasi?