Latest web development tutorials

Acoplable instalar Python

Un método mediante la construcción de Dockerfile

crear Dockerfile

En primer lugar, crear un directorio de pitón, que se utiliza para almacenar la materia relacionada con la espalda.

w3big@w3big:~$ mdkir -p ~/python ~/python/myapp

miaplicacion directorio se asigna al directorio de la aplicación de configuración de contenedores pitón

directorio de pitón creado entrar, crear 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 <[email protected]>" imported
ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D

ENV PYTHON_VERSION 3.5.1

# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
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"]

Crear un espejo a través Dockerfile, reemplazarlo con su propio nombre

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

Una vez creado, podemos encontrar la imagen que acaba de crear en la lista de réplica local

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

Método dos, pitón de arrastre ventana acoplable: 3.5

Encuentra el pitón en el Eje acoplable espejo

w3big@w3big:~/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]

Aquí tiramos una réplica oficial, con la etiqueta 3,5

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

Esperar a que se complete la descarga, podemos encontrar repositorio como pitón en la lista de réplica local, con la etiqueta de imagen 3.5.


Mirroring usando pitón

Helloworld.py crear un archivo en el directorio ~ / Python / miaplicacion, de la siguiente manera:

#!/usr/bin/python

print("Hello, World!");

contenedor de ejecutar

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

Comando Descripción:

-v $ PWD / miaplicacion: / usr / src / miaplicacion: miaplicacion directorio actual será el anfitrión está montado en el contenedor / usr / src / miaplicacion

w / usr / src / miaplicacion: especificada contenedor / usr / src directorio / miaplicacion como el directorio de trabajo

pitón helloworld.py: Uso de comandos contenedores pitón para ejecutar el archivo en el directorio de trabajo helloworld.py

salida:

Hello, World!