您能否提供一个示例,说明如何使用volumes_from共享从容器A到容器B的路径,以及容器B在共享完成后如何访问该路径。

谢谢

最佳答案

正如文档所述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:


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

要在redis上面进行编码,请定义一个卷服务,然后可以在另一个容器中使用,例如webvolumes_from看起来像Web服务,请使用该卷服务指定对read and write的访问级别

关于docker - docker-compose volume_from使用示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45494746/

10-13 06:42