Ошибка образа Docker при запуске: файл не найден - PullRequest
1 голос
/ 03 апреля 2019
FROM python:3.5 AS python-build
#ADDING WHOLE CODE TO FOLDER sequentialbot 
ADD . /sequentialbot 
#sequentialbot as WORKDIR
WORKDIR /sequentialbot
#INSTALLING PYTHON DEPENDENCY
RUN pip install -r requirements.txt

#FOR NODE MODULE
FROM node:11.10.0-alpine
#INSTALLING PYTHON HERE SOME PYTHON DEPENCY CAN ONLY INSTALL BY python:3.5 getting error in alpine,stretch etc 
RUN apk add --update --no-cache \
    python3-dev \
    make \
    g++
#COPY PYTHON DEPENDENCY FROM BASE
COPY --from=python-build /root/.cache /root/.cache
ADD . /sequentialbot
#NODE INSTALL
RUN npm install -g npm@latest
RUN npm cache verify
WORKDIR /sequentialbot/app/static
RUN npm install
RUN npm install sass -g
#SASS 
RUN sass --no-source-map scss/layout/_header.scss:css/layout/_header.css 
RUN sass --no-source-map scss/layout/_footer.scss:css/layout/_footer.css 
RUN sass --no-source-map scss/layout/_side_menu.scss:css/layout/_side_menu.css 
RUN sass --no-source-map scss/layout/_error_component.scss:css/layout/_error_component.css 
RUN sass --no-source-map scss/components/_input_box.scss:css/components/_input_box.css 
RUN sass --no-source-map scss/components/_button.scss:css/components/_button.css 
RUN sass --no-source-map scss/components/_loading_mask.scss:css/components/_loading_mask.css 
RUN sass  --no-source-map scss/components/_template_card.scss:css/components/_template_card.css 
RUN sass --no-source-map scss/pages/_onboarding_app.scss:css/pages/_onboarding_app.css 
RUN sass  --no-source-map scss/pages/_choose.scss:css/pages/_choose.css 
RUN sass --no-source-map scss/pages/_adapt.scss:css/pages/_adapt.css 
RUN sass --no-source-map scss/pages/_express.scss:css/pages/_express.css 
RUN sass --no-source-map scss/pages/_experience.scss:css/pages/_experience.css 
RUN sass --no-source-map scss/pages/_features.scss:css/pages/_features.css 
RUN sass --no-source-map scss/pages/_request_demo.scss:css/pages/_request_demo.css 
#bundle build
RUN npm run build
#SERVER.JS in node-src folder
WORKDIR /sequentialbot/node-src
EXPOSE 3000
ENTRYPOINT ["node", "server.js"]
#run.py inside sequentialbot folder 
WORKDIR /sequentialbot
EXPOSE 9595
ENTRYPOINT [ "python3", "./run.py" ]

Я написал этот докер-файл для сборки моего приложения applicationatio.my на python: 3.5 и node.

после создания образа докера с использованием этого файла, когда я запускаю его, используя: docker run <image name> без указания порта или дополнительной вещи, просто хочу проверить вывод

так что это дает мне ошибку вроде:

python3: не удается открыть файл './run.py': [Errno 2] Нет такого файла или каталог

Я знаю некоторые проблемы с путями, но некоторые могут подсказать, как работает путь, или могут поделиться некоторым справочным файлом докера.

1 Ответ

1 голос
/ 03 апреля 2019

Можете ли вы изменить свою ENTRYPOINT на это:

ENTRYPOINT [ "python3", "/sequentialbot/run.py" ]

Насколько я знаю, WORKDIR действителен для команд, запускаемых во время сборки.Команды ENTRYPOINT выполняются как часть запуска контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...