Docker install Python

888u

Last update at :2024-05-18,Edit by888u

Method 1, docker pull python:3.5

Find Python images on Docker Hub:

You can check other versions of python through Sort by. The default is the latest version python:latest.

In addition, we can also use the docker search python command to view the available versions:

runoob@runoob:~/python$ docker search python
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
python Python is an interpreted,... 982 [OK]
kaggle/python Docker image for Python... 33 [OK]
azukiapp/python Docker image to run Python ... 3 [OK]
vimagick/python mini python 2 [OK]
tsuru/python Image for the Python ... 2 [OK]
pandada8/alpine-python An alpine based python image 1 [OK]
1science/python Python Docker images based on ... 1 [OK]
lucidfrontier45/python-uwsgi Python with uWSGI 1 [OK]
orbweb/python Python image 1 [OK]
pathwar/python Python template for Pathwar levels 1 [OK]
rounds/10m-python Python, setuptools and pip. 0 [OK]
ruimashita/python ubuntu 14.04 python 0 [OK]
tnanba/python Python on CentOS-7 image. 0 [OK]

Here we pull the official image, labeled 3.5

runoob@runoob:~/python$ docker pull python:3.5

After the download is completed, we can find the image with the REPOSITORY of python and the label of 3.5 in the local image list.

runoob@runoob:~/python$ docker images python:3.5
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.5 045767ddf24a 9 days ago 684.1 MB

Method 2: Build through Dockerfile

Create Dockerfile</p>

First, create the directory python to store related things later.

runoob@runoob:~$ mkdir -p ~/python ~/python/myapp

The myapp directory will be mapped to the application directory configured by the python container.

Enter the created python directory and create a Dockerfile.

FROM buildpack-deps:jessie

# remove several traces of debian python
RUN apt-get purge -y python.*

# http://bugs.python.org/issue19846
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
ENV LANG C.UTF-8

# gpg: key F73C700D: public key "Larry Hastings " imported
ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D

ENV PYTHON_VERSION 3.5.1

# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''"
ENV PYTHON_PIP_VERSION 8.1.2

RUN set -ex /
        && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz /
        && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc /
        && export GNUPGHOME="$(mktemp -d)" /
        && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" /
        && gpg --batch --verify python.tar.xz.asc python.tar.xz /
        && rm -r "$GNUPGHOME" python.tar.xz.asc /
        && mkdir -p /usr/src/python /
        && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz /
        && rm python.tar.xz /
        /
        && cd /usr/src/python /
        && ./configure --enable-shared --enable-unicode=ucs4 /
        && make -j$(nproc) /
        && make install /
        && ldconfig /
        && pip3 install --no-cache-dir --upgrade --ignore-installed pip==$PYTHON_PIP_VERSION /
        && find /usr/local -depth /
                /( /
                    /( -type d -a -name test -o -name tests /) /
                    -o /
                    /( -type f -a -name '*.pyc' -o -name '*.pyo' /) /
                /) -exec rm -rf '{}' + /
        && rm -rf /usr/src/python ~/.cache

# make some useful symlinks that are expected to exist
RUN cd /usr/local/bin /
        && ln -s easy_install-3.5 easy_install /
        && ln -s idle3 idle /
        && ln -s pydoc3 pydoc /
        && ln -s python3 python /
        && ln -s python3-config python-config

CMD ["python3"]

Create an image through Dockerfile and replace it with your own name:

runoob@runoob:~/python$ docker build -t python:3.5 .

After the creation is completed, we can find the image we just created in the local image list:

runoob@runoob:~/python$ docker images python:3.5
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.5 045767ddf24a 9 days ago 684.1 MB

Use python mirror

Create a helloworld.py file in the ~/python/myapp directory with the following code:

#!/usr/bin/python

print("Hello, World!");

Run container

runoob@runoob:~/python$ docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python helloworld.py

Command description:

-v $PWD/myapp:/usr/src/myapp: Mount myapp in the current directory on the host to /usr/src/myapp in the container.

-w /usr/src/myapp: Specify the /usr/src/myapp directory of the container as the working directory.

python helloworld.py: Use the container's python command to execute the helloworld.py file in the working directory.

Output results:

Hello, World!

Recommended site search: dual-line host rental, domain name registration, server hosting, how to query domain name registration number, US vps server, com domain name, free domain name registration platform, free virtual host, vps server, no registration,

Docker install Python

All copyrights belong to 888u unless special state
取消
微信二维码
微信二维码
支付宝二维码