HTML tutorial
CSS3 tutorial
Bootstrap tutorial
JavaScript tutorial
JQuery tutorial
AngularJS tutorial
React tutorial
NodeJS tutorial
PHP tutorial
Python tutorial
Python3 tutorial
Django tutorial
Linux tutorial
Docker tutorial
Ruby tutorial
Java tutorial
C tutorial
C ++ tutorial
Perl tutorial
JSP tutorial
Lua tutorial
Scala tutorial
Go tutorial
ASP.NET tutorial
C # tutorial
Create Dockerfile
First, create a directory python, used to store back-related stuff.
w3resource@w3resource:~$ mdkir -p ~/python ~/python/myapp
myapp directory will be mapped to the python container configuration application directory
Enter python directory created, create Dockerfile
FROM buildpack-deps:jessie # remove several traces of debian python RUN apt-get purge -y python.* # https://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"]
Create a mirror through Dockerfile, replace it with your own name
w3resource@w3resource:~/python$ docker build -t python:3.5 .
Once created, we can find the image you just created in the local mirror list
w3resource@w3resource:~/python$ docker images python:3.5 REPOSITORY TAG IMAGE ID CREATED SIZE python 3.5 045767ddf24a 9 days ago 684.1 MB
Find python on the mirror Docker Hub
w3resource@w3resource:~/python$ docker search python NAME DESCRIPTION STARS OFFICIAL AUTOMATED python Python is an interpreted,/en. 982 [OK] kaggle/python Docker image for Python/en. 33 [OK] azukiapp/python Docker image to run Python /en. 3 [OK] vimagick/python mini python 2 [OK] tsuru/python Image for the Python /en. 2 [OK] pandada8/alpine-python An alpine based python image 1 [OK] 1science/python Python Docker images based on /en. 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 an official mirror, labeled 3.5
w3resource@w3resource:~/python$ docker pull python:3.5
Wait for the download is complete, we can find REPOSITORY as python in local mirror list, labeled 3.5 image.
Helloworld.py create a file in the ~ / python / myapp directory, as follows:
#!/usr/bin/python print("Hello, World!");
w3resource@w3resource:~/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: myapp will host current directory is mounted to the container / usr / src / myapp
-w / usr / src / myapp: specified container / usr / src / myapp directory as the working directory
python helloworld.py: Use containers python command to execute the file in the working directory helloworld.py
Output:
Hello, World!