Docker installer Python
Procédé de construction d'Dockerfile
Créer Dockerfile
Tout d'abord, créer un python de répertoire, utilisé pour stocker des trucs liés à dos.
w3big@w3big:~$ mdkir -p ~/python ~/python/myapp
répertoire myapp sera mappé sur le répertoire de l'application de configuration du conteneur de python
Entrez le répertoire python créé, créez 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 <larry@hastings.org>" 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"]
Créer un miroir à travers Dockerfile, remplacez-le avec votre propre nom
w3big@w3big:~/python$ docker build -t python:3.5 .
Une fois créé, nous pouvons trouver l'image que vous venez de créer dans la liste de miroir 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éthode deux, docker traction python: 3.5
Trouver python sur le miroir Docker Hub
w3big@w3big:~/python$ docker search python NAME DESCRIPTION STARS OFFICIAL AUTOMATED python Python is an interpreted,fr. 982 [OK] kaggle/python Docker image for Pythonfr. 33 [OK] azukiapp/python Docker image to run Python fr. 3 [OK] vimagick/python mini python 2 [OK] tsuru/python Image for the Python fr. 2 [OK] pandada8/alpine-python An alpine based python image 1 [OK] 1science/python Python Docker images based on fr. 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]
Ici, nous tirons un miroir officiel, marqué 3.5
w3big@w3big:~/python$ docker pull python:3.5
Attendez que le téléchargement est terminé, nous pouvons trouver DÉPÔT comme python dans la liste de miroir local, étiqueté 3,5 image.
Reflétant en utilisant python
Helloworld.py créer un fichier dans le répertoire ~ / python / répertoire myapp, comme suit:
#!/usr/bin/python print("Hello, World!");
conteneur Run
w3big@w3big:~/python$ docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python helloworld.py
Commande Description:
-v $ PWD / myapp: / usr / src / myapp: myapp accueillera le répertoire courant est monté sur le conteneur / usr / src / myapp
-w / usr / src / myapp: spécifié conteneur / usr / src / myapp que le répertoire de travail
python helloworld.py: Utilisez la commande conteneurs python pour exécuter le fichier dans le répertoire de travail helloworld.py
sortie:
Hello, World!