Не находит установленный nodejs в Dockerfile
Есть проект, который использует связку node js и python. Надо упоковать его в докер. Вроде все делаю правильно, все ставится без ошибок(делаю docker build ответ: Successfully built 9e241d7850a6 Successfully tagged server:v0.1)
Когда запускаю: docker run -p 5000:5000 server:v0.1 вылезает ощибка: /bin/sh: 1: /bin/sh: [node]: not found
Пробовал node и nodejs. Сам Dockerfile
FROM python:3.7
COPY package.json /server/package.json
COPY Pipfile* /server/Pipfile*
COPY server.js /server/server.js
WORKDIR /server
ENV PYTHONPATH="${PYTHONPATH}:/proj"
COPY . /server
ENV PATH /server/node_modules/.bin:$PATH
RUN echo "deb https://deb.nodesource.com/node_12.x buster main" > /etc/apt/sources.list.d/nodesource.list \
&& apt-get install wget -yqq \
&& wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& apt-get update -yqq \
&& apt-get install -yqq nodejs yarn \
&& npm i -g npm@^6 \
&& rm -rf /var/lib/apt/lists/*
RUN pip install pipenv \
&& pipenv install
ENTRYPOINT ['node']
CMD ['server.js']
Пробовал также устанавливать чере:
RUN apt-get update -yqq \
&& apt-get upgrade -yqq \
&& apt-get install -y --no-install-recommends apt-utils \
&& apt-get install curl -yqq \
&& curl -sL https://deb.nodesource.com/setup_9.x \
&& apt-get install nodejs -yqq \
&& apt-get install npm -yqq\
&& apt-get install build-essential -yqq \
&& npm install npm@latest -g \
&& npm install
Ответы (1 шт):
Автор решения: Nobody
→ Ссылка
Ошибка оказалась гораздо проще и глупее. CMD,ENTRYPOIN и в принципе Dockerfile не воспринимают одиночные кавычки (').Просто заменил ENTRYPOINT ['node'] на ENTRYPOINT ["node"]