Задать вопрос
@brezhitskiy42

Почему возникает ошибка при запуске Docker контейнера?

Здравствуйте. У меня есть простой Dockerfile:
FROM node:latest

RUN useradd --create-home --shell /bin/bash testuser

USER testuser

WORKDIR /home/testuser

CMD ['/bin/bash']

С его помощью создал image - testhub/node-base:latest.

При запуске контейнера (без команды по умолчанию) - docker run -it testhub/node-base:latest получаю ошибку /bin/sh: 1: [/bin/bash]: not found.

Если при запуске передать дефолтную команду /bin/bash, то всё ок - docker run -it testhub/node-base:latest /bin/bash.

Это очень странно, ведь команды одни и те же. В чем может быть проблема? Спасибо.
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
кавычки в Dockerfile замените на __двойные__ :

CMD ["/bin/bash"]

docker build -t xxx -f Dockerfile  .
docker run -it xxx

testuser@6a86a940f044:~$ echo $SHELL
/bin/bash
testuser@6a86a940f044:~$ exit
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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