映射与WORKDIR相关的卷

时间:2017-09-12 19:16:37

标签: docker docker-compose docker-volume

如何使用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

有没有办法在图片的WORKDIR中映射我的scripts文件夹而不知道这个文件夹在哪里?

1 个答案:

答案 0 :(得分:0)

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

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