मैं एक 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
डॉकर अपलोड फ़ोल्डर बनाता है और फिर एक config.php फ़ोल्डर। फाइल नहीं।
या क्या कॉन्फिग्रेशन को बनाए रखने का एक और तरीका है?