Отображение тома, связанного с WORKDIR

Как я могу сопоставить том, используя Image WORKDIR в docker-compose?

Я пытаюсь использовать

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 изображения, не зная, где эта папка?

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
Другие вопросы по тегам