अपडेट नहीं किया गया है मैं इस बात पर उलझन में हूं कि नामित डेटा-वॉल्यूम (डेटा कंटेनर नहीं) का उपयोग कैसे किया जाना चाहिए।डॉकर नामित वॉल्यूम
मेरे पास नामित डेटा वॉल्यूम app_src
है जिसे डॉकर कंपोज़ फ़ाइल का उपयोग करके /usr/src/app
पर रखा गया है। हालांकि, मेरे स्रोत कोड (स्थानीय रूप से) में परिवर्तन करने के बाद, छवि का निर्माण वॉल्यूम को अपडेट नहीं करता है।
मैं बहुत की तरह छवि का निर्माण कर रहा हूँ,
docker-compose -f development.yml build
और यह docker-compose -f development.yml up -d
चल रहा है।
यह पुष्टि करने के लिए कि वॉल्यूम नहीं बदलेगा, मैं चलने वाले कंटेनर में संलग्न हूं और पर्याप्त सत्य है, स्रोत कोड अपडेट नहीं किया गया है।
मेरी web
सेवा के लिए यहां मेरी डॉकर फ़ाइल development.yml
और Dockerfile
है। संस्करण: '2'
services:
web:
restart: always
build: ./web
expose:
- "8000"
volumes:
- app_src:/usr/src/app
links:
- postgres:postgres
env_file: development.env
command: ./start_web.sh
volumes:
app_src: {}
FROM python:3.4.4
WORKDIR /usr/src/app
RUN rm -rf /usr/src/app/*
COPY . /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
मैं यह इतना की तरह मेजबान बढ़ते द्वारा काम कर सकता है,
volumes:
- ./web/src:/usr/src/app
मैं डोकर 1.11.2 चल उबंटू 16.04 पर हूँ। क्या मेरी समझ गलत है? मैंने प्रलेखन पर एक नज़र डाली लेकिन मुझे कुछ भी मिल गया जो वॉल्यूम को वास्तव में अच्छी तरह से समझाता था।
ठीक है, यह समझ में आता है। मैं थोड़ा उलझन में था कि यह रचना के साथ कैसे बनता है। सेवा लाने के दौरान नामित वॉल्यूम को डॉकर-कंपोज़ से खाली करने का कोई तरीका है? 'डॉकर-कंपोज़ अप' -> मैं वॉल डीआईआर को साफ़ करना चाहता हूं और मेजबान से नवीनतम फाइल कॉपी करना चाहता हूं? –
यह कंटेनर की शुरुआत में निर्देशिका को हटाने के लिए काम नहीं करेगा क्योंकि डॉकर रिक्त फ़ोल्डर की जांच के बाद ऐसा होगा। यदि आप हमेशा कंटेनर की सामग्री के साथ प्रारंभ करना चाहते हैं, और पिछले वॉल्यूम को हटाने में कोई फर्क नहीं पड़ता है, तो मुझे यह पूछना है कि क्या आपको वास्तव में वॉल्यूम के रूप में इसकी आवश्यकता है? – BMitch
आप सही हैं। मेरा समाधान अब वॉल्यूम को सभी को एक साथ निकालना है, और विकास के दौरान होस्ट फ़ाइल से माउंट करना है। मेरे पास पहली जगह वॉल्यूम है क्योंकि मैंने कोड को कई कंटेनर में साझा करने के बारे में सोचा था, लेकिन अब यह वास्तव में ऐसा करने में समझ में नहीं आता है। –