【问题标题】:Mapping volume related with WORKDIR与WORKDIR相关的映射卷
【发布时间】:2017-09-12 19:16:37
【问题描述】:

如何使用 docker-compose 中的 Image WORKDIR 映射卷?

我正在尝试使用

services:
    my-app:
        image: <image>
        volumes:
            - ./scripts:./scripts

但是当我尝试执行docker-compose up -d 时,我收到以下错误:

Cannot create container for service my-app: invalid volume spec "scripts": invalid volume specification: 'scripts': invalid mount config for type "volume": invalid mount path: 'scripts' mount path must be absolute

有没有办法在不知道该文件夹在哪里的情况下将我的scripts 文件夹映射到图像的 WORKDIR 中?

【问题讨论】:

    标签: docker docker-compose docker-volume


    【解决方案1】:

    不,默认情况下没有办法做到这一点。但是,如果您愿意,可以使用解决方法

    services:
        my-app:
            image: <image>
            volumes:
                - ./scripts:/scripts
            command: bash -c "ln -s /scripts scripts && orignal command"
    

    但这需要你事先知道命令。所以要么你事先知道命令,要么事先知道 WORKDIR。

    您还可以将工作目录更改为您想要的任何其他目录。如果您不想覆盖该命令,那么下面是另一个可能的选项

    docker-compose up -d
    docker-compose exec my-app ln -s /scripts scripts
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 2013-09-21
      • 2016-11-01
      • 2015-04-19
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      相关资源
      最近更新 更多