मैं docker-compose और v3 का उपयोग कर रहा हूं। मैं डॉकटर में वॉल्यूम माउंट करने की कोशिश कर रहा हूं:
./appdata:/appdata
मैं इसे वॉल्यूम के रूप में लेना चाहता हूं और फिर कई कंटेनरों से उस वॉल्यूम को संदर्भित करता हूं। मात्रा विन्यास संदर्भ केवल शो data-volume:एक नामित मात्रा के रूप में, कोई मूल्य नहीं के साथ, तो यह ऊपर की तरह नहीं दिखता।
services:
nginx:
build: ./nginx/
ports:
- 80:80
links:
- php
volumes:
- app-volume
php:
build: ./php/
expose:
- 9000
volumes:
- app-volume
volumes:
app-volume: ./appdata:/appdata
यह मुझे देता है:
त्रुटि: फ़ाइल './docker-compose.yml' में, वॉल्यूम 'ऐप-वॉल्यूम' स्ट्रिंग नहीं एक मैपिंग होनी चाहिए।
जाहिर है मुझे पता है कि मुझे volumesकुंजी / मूल्य जोड़ी बदलने की आवश्यकता है , लेकिन मुझे यकीन नहीं है कि इसे कैसे बदलना है ताकि मैं सेवाओं के बीच एक वॉल्यूम साझा कर सकूं।
मैंने भी जांच की है, volumes_fromलेकिन यह प्रभावी रूप से अन्य कंटेनरों से विरासत की अनुमति देता है। मैंने देखा है कि कोई volumes_fromअन्य कंटेनर का उपयोग करता है जिसमें मैपिंग वे चाहते हैं, लेकिन command: trueसेट के साथ ताकि कंटेनर वास्तव में कभी न चले, जो मुझे सिर्फ एक हैक की तरह लगता है।
मैं यह कैसे कर सकता हूँ?
ध्यान दें, मेरे पास निम्नलिखित कार्य हैं:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
लेकिन यह सिर्फ दोहराव है और कुछ ऐसा है जिसकी मैं उम्मीद कर रहा हूं कि नामांकित वॉल्यूम मुझे बचने में मदद कर सकता है :-)