2017-08-03 118 views

回答

4

由於文檔說volumes,如果你在version 3您可以使用The top-level volumes定義一個名爲量如下db-data EE代碼,你可以在每一個服務像這樣引用它:

version: "3" 

services: 

    web: 
    nginx:alpine 
    ports: 
    - "80:80" 

    postgres: 
    image: postgres:9.4 
    volumes: 
     - db-data:/var/lib/db 

    backup: 
    image: postgres:9.4 
    volumes: 
     - db-data:/var/lib/backup/data 

    redis: 
    image: redis 
    ports: 
     - "6379:6379" 
    volumes: 
     - ./data:/data 

volumes: 
    db-data: 

2.0版:

volumes_from允許你安裝來自其他服務或容器中的所有數據或卷,您必須指定的訪問級別文件是怎麼說的在你的代碼volumes from你可以使用這樣的事情:

version: "2" 

services: 
    web: 
    image: nginx:alpine 
    ports: 
     - "80:80" 
    volumes_from: 
     - redis:rw 
    postgres: 
    image: postgres:9.4 
    volumes: 
     - /data/webapp 
    backup: 
    image: postgres:9.4 
    volumes: 
     - /var/lib/backup/data 

    redis: 
    image: redis 
    ports: 
     - "6379:6379" 
    volumes: 
     - /data/db 

爲了上面的代碼reddis定義卷服務然後你可以在另一個容器中使用例如webvolumes_from看起來像是web服務使用該卷服務指定訪問級別爲read and write

+0

這是如何使用docker-compose文件'版本2'完成的? 我想它是使用volumes_from語法,你能指定確切的用法嗎? – JavaSa

+1

你可以看到它我更新了一個版本2碼頭的例子。 –

+0

非常感謝,如果您在redis中定義了多個卷,是否可以使用'volumes_from'語法僅選擇其中一個暴露給其他服務? – JavaSa