Harsh Manvar
Harsh Manvar

Reputation: 30160

Docker image error when run it : file not found

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" ]

I have written this docker file to build my applicatio.my application is in python:3.5 and node.

after creating docker image using this file when i run it using : docker run <image name> not specifying port or extra thing just want to check output

so it is giving me error like :

python3: can't open file './run.py': [Errno 2] No such file or directory

i know some path issue but can some suggest how path work or can share some reference docker file.

Upvotes: 1

Views: 774

Answers (1)

Mihai
Mihai

Reputation: 10757

Can you change your ENTRYPOINT to this:

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

From what I know WORKDIR is valid for commands run during build. ENTRYPOINT commands run as part of container startup.

Upvotes: 1

Related Questions