如何在docker-compose中指定卷主机路径?

时间:2019-12-13 14:54:24

标签: docker path docker-compose docker-volume

我想在多个容器中共享一个卷,并在主机上指定该卷的路径。

我使用了以下设置:

version: '3'
services:
    service1:
        image: image1
        volumes:
            - volume1:/volume1
    service2:
        image: image2
        volumes:
            - volume1:/volume1
volumes:
  volume1:
    driver: local                 # meaning?
    driver_opts:
      o: bind                     # meaning?
      type: none                  # meaning?
      device: /volume1            # the path on the host 

但是我不确定driver: localtype: noneo: bind选项。

我希望有一个常规的卷(就像不指定任何driverdriver_opts一样),只是能够指定主机上的路径。

1 个答案:

答案 0 :(得分:1)

您正在寻找bind mount。指定volumes键意味着您正在Docker计算机中创建一个用于持久存储的卷。尽管有名称,但volume不一定与volumes相关。

使用类似的东西:

version: '3'
services:
  service1:
    image: image1
    volumes:
      - type: bind # Host and Docker machines have identical views to the same directory; changes propagate both ways
        source: . # Host machine directory to mount
        target: /app # Docker machine directory to be mapped to