【问题标题】:docker-compose volumes not mounting directories, only files inside directorydocker-compose 卷不是挂载目录,只有目录内的文件
【发布时间】:2021-04-16 16:41:27
【问题描述】:

听起来可能很奇怪,但我正在尝试让 docker-compose 将目录挂载到我创建的卷上

volumes:
  - backend-data:/app/migrations/autogen-migrations
  - backend-data:/app/seeds/autogen-seeds
  - backend-data:/app/server/public
  - backend-data:/app/server/src/services/location

唯一的问题是,它不是简单地将文件夹映射到卷,而是将内容安装在卷中。有没有办法告诉 docker-compose 复制/映射文件夹本身?

编辑: 已经试过了

backend-data/autogen-migrations:/app/migrations/autogen-migrations

我收到以下错误:

Named volume "backend-data/autogen-migrations:/app/migrations/autogen-migrations:rw" is used in service "backend" but no declaration was found in the volumes section.

顺便说一句,这就是我的卷的声明方式

volumes:
  backend-data:
    driver: local

【问题讨论】:

  • 需要挂载本地目录吗?例如。将/my/path/ 挂载到/app/migrations/autogen-migrations?

标签: docker docker-compose docker-volume


【解决方案1】:

当您需要将本地目录挂载为 Docker 卷时,您可以在服务中使用以下语法:

volumes:
  - ./your/local/path:/app/migrations/autogen-migrations

这样,Docker 在 docker-compose.yml 文件所在的同一个文件夹中创建了一个本地路径“./your/local/path”,用于存储挂载卷的数据。在这种情况下,您不需要在 docker-compose.yml 中指定 volume 部分,因为您自己管理卷。 如果您需要挂载多个文件夹,请记住同时挂载多个本地文件夹:

volumes:
  - ./your/local/migrations/or/whatever/you/want:/app/migrations/autogen-migrations
  - ./your/local/seeds:/app/seeds/autogen-seeds
  - ./your/local/server/public:/app/server/public
  - ./your/local/server/src:/app/server/src/services/location

您也可以在同一文件夹下聚合 mounts 文件夹:

volumes:
  - ./your/local/migrations:/app/migrations/autogen-migrations
  - ./your/local/seeds:/app/seeds/autogen-seeds
  - ./your/local/server:/app/server

在这种情况下,进入 './your/local/server' 您会找到所有 '/app/server/' 内容。

如果你使用语法:

volumes:
  backend-data:
    driver: local

你告诉 Docker:“Docker,请挂载与backend-data:(在你的情况下为backend-data:/app/migrations/autogen-migrations)对应的文件夹当你需要时并存储我的数据!”。在这种情况下,Docker 自己管理“本地”文件夹,而不使用 docker-compose.yml 文件所在的同一文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 2016-03-12
    • 2017-04-15
    • 1970-01-01
    • 2018-03-25
    • 2021-07-04
    相关资源
    最近更新 更多