如何在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中吗?

最佳答案

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

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

关于docker - 与WORKDIR相关的映射体积,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46183860/

10-16 22:26