how do i setup only python 2.7 in docker container?

12,245

Solution 1

You can use python base image

FROM python:2.7

This base image with have python pre-configured and you don't need to install python seperately. Hope it helps.

Here is the list of available image

For quick reference please check https://blog.realkinetic.com/building-minimal-docker-containers-for-python-applications-37d0272c52f3

Solution 2

You can use "FROM python:2.7" , the base image.

FROM python:2.7

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./your-daemon-or-script.py" ]

(documentation link)please find some examples here

Share:
12,245
lila
Author by

lila

ehhh moved on to the backend

Updated on June 17, 2022

Comments

  • lila
    lila almost 2 years

    I have node app and in one use case I am calling python script from node using python-shell . I am trying to setup this app on docker and my Dockerfile looks something like this

    FROM debian:latest
    # replace shell with bash so we can source files
    RUN rm /bin/sh && ln -s /bin/bash /bin/sh
    # update the repository sources list
    # and install dependencies
    RUN apt-get update \
    && apt-get install -y curl \
    && apt-get -y autoclean
    # nvm environment variables
    ENV NVM_DIR /usr/local/nvm
    ENV NODE_VERSION 10.15.3
    # install nvm
    # https://github.com/creationix/nvm#install-script
    RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash
    # install node and npm
    RUN source $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default
    # add node and npm to path so the commands are available
    ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
    ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
    # confirm installation
    RUN node -v
    RUN npm -v
    RUN apt-get -y install python2.7
    COPY package.json .
    RUN npm install
    COPY . .
    CMD ["npm","run","start"]
    

    after building and running this container when I try to invoke use case where python script gets called from node I am getting this error.

    null
    events.js:174
          throw er; // Unhandled 'error' event
          ^
    
    Error: spawn /usr/lib/python2.7 EACCES
        at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
        at onErrorNT (internal/child_process.js:415:16)
        at process._tickCallback (internal/process/next_tick.js:63:19)
    Emitted 'error' event at:
        at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
        at onErrorNT (internal/child_process.js:415:16)
        at process._tickCallback (internal/process/next_tick.js:63:19)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1