Отображение тома, связанного с 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