Библиотеки Python в Dockerfile для проекта Node.js
Я пытаюсь загрузить свой проект Node.js в Docker Platform на AWS Elastic Beanstalk. У меня проблемы с добавлением библиотек Python в Dockerfile. С этим развертыванием файлов все в порядке:
FROM node:8.16
WORKDIR /opt/app
COPY package.json package-lock.json* ./
RUN npm cache clean --force && npm install
COPY . /opt/app
ENV PORT 80
EXPOSE 80
CMD [ "npm", "start" ]
Но как только я добавляю библиотеки Python для файла Docker:
FROM node:8.16
WORKDIR /opt/app
COPY package.json package-lock.json* ./
RUN npm cache clean --force && npm install
COPY . /opt/app
FROM python:3.7
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
COPY . /tmp/
ENV PORT 80
EXPOSE 80
CMD [ "npm", "start" ]
Я получаю ошибку при развертывании:
Не удалось запустить Docker-контейнер: a46e6adbe0fee8d3 docker: Ответ об ошибке от демона: Ошибка создания среды выполнения OCI: container_linux.go:348: запуск процесса контейнера вызвал "exec: \"npm\": исполняемый файл не найден в $PATH": неизвестно.. Проверьте журналы снимков для деталей.
Заранее благодарю за любую помощь
1 ответ
Как упомянуто в ссылке на докер для FROM, допускается наличие нескольких инструкций FROM в одном Dockerfile:
Каждая инструкция FROM очищает любое состояние, созданное предыдущими инструкциями.
Если вы хотите построить свое приложение поверх среды, содержащей как node.js, так и python 3, я предлагаю вам взглянуть на Docker Hub. Возможно, это поможет.