ฉันใช้ Docker-compose และ v3.0 ฉันกำลังพยายามเพิ่มโวลุ่มในนักเทียบท่า:
./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", volume "app-volume" ต้องเป็นการแมปที่ไม่ใช่สตริง
เห็นได้ชัดว่าฉันรู้ว่าฉันจำเป็นต้องเปลี่ยนvolumes
คู่คีย์ / ค่า แต่ฉันไม่แน่ใจว่าจะเปลี่ยนอย่างไรจึงจะสามารถแชร์ระดับเสียงระหว่างบริการได้
ฉันได้ตรวจสอบแล้วvolumes_from
แต่สิ่งนี้อนุญาตให้สืบทอดจากคอนเทนเนอร์อื่นได้อย่างมีประสิทธิภาพ ฉันเคยเห็นใครบางคนใช้volumes_from
กับคอนเทนเนอร์อื่นที่มีการทำแผนที่ที่พวกเขาต้องการ แต่ด้วยการcommand: true
ตั้งค่าเพื่อไม่ให้คอนเทนเนอร์ทำงานจริงซึ่งสำหรับฉันดูเหมือนว่าเป็นการแฮ็ก
ฉันจะทำเช่นนี้ได้อย่างไร?
หมายเหตุผมไม่ได้มีการทำงานต่อไปนี้:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
แต่นั่นเป็นเพียงการทำซ้ำและเป็นสิ่งที่ฉันหวังว่าไดรฟ์ข้อมูลที่ตั้งชื่อจะช่วยให้ฉันหลีกเลี่ยง :-)