Задать вопрос
Viji
@Viji
DevOps Engineer

Как запускать данную команду без скрипта?

Могу запускать след команду в моей папке с фронтэнд проектом

docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpine sh /var/task/myscript.sh

В файле myscript.sh кладу

cd /var/task && npm install && npm ci

Когда пытаюсь сделать тоже но командой

docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpinealpine sh "cd /var/task && npm install && npm ci"

выдается ошибка - можете сказать почему и... что порекомендуете, скрипт создает некоторые неудобства.
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
Вызываем справку:
docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpine sh --help
BusyBox v1.31.1 () multi-call binary.

Usage: sh [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE [ARGS] / -s [ARGS]]

Unix shell interpreter


Таким образом:
docker run --rm -v ${PWD}/:/var/task -u 0 node:15-alpine sh -c "cd /var/task && npm install && npm ci"


А можно и так:
docker run --rm -v ${PWD}/:/var/task -u 0 --workdir="/var/task" node:15-alpine sh -c "npm install && npm ci


Или вообще так:
docker run --rm -v ${PWD}/:/var/task -u 0 --workdir="/var/task" node:15-alpine npm install && npm ci


PS
https://docs.docker.com/engine/reference/run/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы