![](/img/trans.png)
[英]How can I change permission of mounted volumes in docker-compose.yml from the docker-compose.yml?
[英]How to config volumes in docker-compose.yml?
我猜這是一個非常簡單的問題,但我找不到答案。 這是我的 docker-compose.yml
version: '3'
services:
db:
volumes:
- db:/var/lib/mysql
volumes:
db:
nextcloud:
問題是,我想在“volumes”中指定“db”或“nextcloud”的值,並在“Services”中引用它們。像這樣
services:
db:
volumes:
- db:/var/lib/mysql
nextcloud:
volumes:
- nextcloud:/var/www/html
volumes:
db: /home/roj/DataDisk/nextcloud-insecure/db
nextcloud: /home/roj/DataDisk/nextcloud-insecure/disk
但我遇到了問題ERROR: In file './docker-compose.yml', volume 'db' must be a mapping not a string.
我該如何解決?
頂級volumes
部分並不意味着指定掛載,而是卷驅動配置(請參閱有關此問題的官方文檔)。 IE。 這是不正確的
volumes:
db: /home/roj/DataDisk/nextcloud-insecure/db # incorrect
nextcloud: /home/roj/DataDisk/nextcloud-insecure/disk # incorrect
如果要將主機目錄掛載到容器中,則必須在services
的volumes
部分中指定它,例如。
services:
db:
volumes:
- /home/roj/DataDisk/nextcloud-insecure/db:/var/lib/mysql
nextcloud:
volumes:
- /home/roj/DataDisk/nextcloud-insecure/disk:/var/www/html
有關更多信息,請參閱有關服務卷的官方文檔。
您在外volumes
指令中的語法不正確。
如果要掛載到 docker 管理的卷,請執行以下操作:
services:
test:
image: alpine
volumes:
- db:/app
volumes:
db:
如果要掛載到本地路徑,請執行此操作(您可以將.:/app
中的點替換為任何其他本地路徑,例如: /home/you:/server/path
):
services:
test:
image: alpine
volumes:
- .:/app
如果它以點或斜線開頭,它將被視為路徑,否則,將被視為 docker 管理的命名卷。
這些是常見的使用模式,但您可以閱讀有關compose 中卷的更多信息以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.