我使用的是docker-compose和v3。我想在泊塢窗裝入卷:Docker撰寫 - 在多個容器之間共享命名卷
./appdata:/appdata
我想有這樣的體積,然後引用從多個容器該卷。 volume configuration reference只顯示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
這給了我:
ERROR: In file './docker-compose.yml', volume 'app-volume' must be a mapping not a string.
顯然,我知道自己需要改變volumes
鍵/值對的,但我不知道怎麼改變這種做法,我可以共享的卷在服務之間。
我也檢出了volumes_from
但這實際上只允許從其他容器繼承。我看到有人在另一個包含他們想要的映射的容器上使用volumes_from
,但是設置了command: true
以便容器永遠不會真正運行,對我來說這看起來像是黑客。
我該怎麼做?
注意,我做有以下工作:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
但是,這只是重複和東西我希望一個名爲體積可以幫助我避免:-)
但我在我的例子中使用了兩個位置,一個主機和一個容器。最初它看起來像這樣:' - ./appdata:/ appdata'但是對於你的解決方案,我只能看到其中的一個值? – Jimbo
這兩個容器都可以寫入卷AFAIK。所以如果您將某個文件夾從您的某個容器展開到指定的卷中,則可以看到該文件夾並被其他容器覆蓋,反之亦然。如果它仍然不清楚 - 我會粘貼我的示例代碼來嘗試更好地解釋它 – Kannaj
它必須是「正確的答案」。 –