Web176教程
  • HTML
    • bootstrap4 教程
    • bootstrap5 教程
    • Canvas 教程
    • Canvas API
    • CSS 教程
    • CSS3 教程
    • HTML 教程
    • HTML5 教程
    • Less 教程
    • Sass 教程
    • SVG 教程
    • W3.CSS 教程
    • WebSockets 教程
    • XML DOM 教程
    • XHTML 教程
  • JavaScript
    • AngularJS 教程
    • Angular13 教程
    • AJAX 教程
    • JavaScript 教程
    • Vue2.0 教程
    • Vue3.0 教程
    • Axios 教程
    • Vue CLI 基础教程
    • React 教程
    • TypeScript 教程
    • Vant 教程
    • RequireJS 教程
    • JSON 教程
    • Ext.js 教程
    • ECMAScript 6 教程
    • jQuery EasyUI 教程
    • Next.js 教程
    • Nuxt.js 教程
    • RxJS 教程
    • RIOT.JS 教程
    • MomentJS 教程
    • WebGL 教程
    • Polymer 教程
    • Redux 教程
    • WebRTC 教程
    • Prototype 教程
    • Meteor 教程
    • CoffeeScript 教程
    • Ember 对象模型
    • Vant3 教程
    • Vant4 教程
    • ElementPlus 教程
    • Element-React 教程
  • 后端开发
    • Java 教程
    • Go 语言
    • ASP.NET 教程
    • C++ 教程
    • C# 教程
    • Hadoop 教程
    • R语言
    • Ruby 教程
    • JSP 教程
    • Python 教程
    • Yii 框架教程
    • Zend framework 教程
    • Apache CXF 教程
    • VB.Net 教程
    • VBScript 教程
    • Julia 教程
    • Perl 教程
    • Lua 教程
    • Kotlin 教程
    • MATLAB 教程
    • Spring Boot 教程
    • VBA 语言教程
  • 移动开发
    • Android 教程
    • Android SDK 指南
    • CrossApp 教程
    • Cordova 教程
    • Flutter 教程
    • Knockout 教程
    • HomeKit App 教程
    • iOS 开发手册
    • ionic 教程
    • React Native 教程
    • Swift 教程
    • Sencha Touch 教程
    • uni-app 教程
    • 小程序云开发学习指南
    • 云开发 – 云函数实现后端能力
  • 服务器
    • DOS 命令学习手册
    • Docker 从入门到实践
    • Dart 编码教程
    • Linux 教程
    • Nginx 教程
    • OAuth 2.0 教程
    • RDF 教程
    • Web Service 教程
    • UNIX 教程
  • 数据库
    • Cassandra 教程
    • MariaDB 教程
    • Memcached 教程
    • MongoDB 教程
    • Moralis Web3 企业级API
    • MS Access 教程
    • MyBatis 教程
    • MySQL 教程
    • neo4j 教程
    • Oracle 教程
    • Redis 教程
    • SQL 教程
    • Slick 教程
    • Spark 教程
    • Storm 教程
    • SQLite 教程
    • 云数据库OceanBase教程
  • 建站
    • Arduino 教程
    • Django 教程
    • FastAPI 教程
    • Flask 教程
    • Flask 中文教程
    • GoFrame 教程
    • Groovy 教程
    • Go Gin教程
    • Hibernate 教程
    • HTTP 教程
    • iris 教程
    • jUnit 教程
    • JFinal 教程
    • Python Tornado教程
    • Revel 教程
    • Servlet 教程
    • Struts2 教程
    • Swoole 教程
    • Spring IoC 教程
    • SWING 教程
    • WordPress 教程
    • WPF 教程
    • MyBatis-Plus 教程
    • Gin 教程
  • 开发工具
    • Apache Ant 教程
    • Chrome 开发工具
    • Composer 教程
    • Electron 教程
    • Flex 教程
    • Git 在线教程
    • Gradle 教程
    • Grunt 教程
    • HBuilder 教程
    • Maven 教程
    • Tableau 教程
    • Verilog 教程
    • Visual Studio Code 教程
    • Vite教程
    • Webpack 教程
    • 正则表达式
  • MORE
    • 问答社区
    • 资讯
      • 前端开发
      • 办公
      • SEO
登录 注册
投稿
  1. Web176教程首页
  2. Docker 教程

Docker 安装 Python

唐伯虎点蚊香 • 2023年10月1日 下午5:03 • Docker 教程 • 阅读 344

目录

    • 方法一、通过 Dockerfile 构建
  • 方法二、docker pull python:3.5
  • 使用python镜像
    • 运行容器

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录python,用于存放后面的相关东西。

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

myapp目录将映射为python容器配置的应用目录

进入创建的python目录,创建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 thats 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"]

通过Dockerfile创建一个镜像,替换成你自己的名字

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

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

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

方法二、docker pull python:3.5

查找Docker Hub上的python镜像

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

这里我们拉取官方的镜像,标签为3.5

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

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为python,标签为3.5的镜像。


使用python镜像

在~/python/myapp目录下创建一个 helloworld.py 文件,代码如下:

#!/usr/bin/python

print("Hello, World!");

运行容器

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

命令说明:

-v $PWD/myapp:/usr/src/myapp :将主机中当前目录下的myapp挂载到容器的/usr/src/myapp

-w /usr/src/myapp :指定容器的/usr/src/myapp目录为工作目录

python helloworld.py :使用容器的python命令来执行工作目录中的helloworld.py文件

输出结果:

Hello, World!

作者:唐伯虎点蚊香,如若转载,请注明出处:https://www.web176.com/dockerad/25720.html

Docker 教程
赞 (0)
打赏 支付宝 支付宝 微信 微信
唐伯虎点蚊香的头像唐伯虎点蚊香
0 0
生成海报
Docker 安装 Redis
上一篇 2023年10月1日 下午5:03
Docker 安装 Tomcat
下一篇 2023年10月1日 下午5:03

相关推荐

  • Docker 安装 Redis 2023年10月1日
  • Docker 安装 Nginx 2023年10月1日
  • CentOS Docker 安装 2023年10月1日
  • Docker 镜像使用 2023年10月1日
  • Docker 容器连接 2023年10月1日
  • MacOS Docker 安装 2023年10月1日
  • Docker Hello World 2023年10月1日
  • Docker 安装 PHP 2023年10月1日
  • Windows Docker 安装 2023年10月1日
  • Docker 入门实战 2023年10月1日
  • Docker 命令大全 2023年10月1日
  • Docker 备忘单 2023年10月1日
  • Docker 安装 Tomcat 2023年10月1日
  • Docker 常用命令 2023年10月1日
  • Docker 资源汇总 2023年10月1日
  • Docker 安装 MongoDB 2023年10月1日

发表回复

请登录后评论...
登录后才能评论

Docker 教程列表

  • Docker 入门实战
  • Docker 架构
  • CentOS Docker 安装
  • Windows Docker 安装
  • MacOS Docker 安装
  • Docker Hello World
  • Docker 镜像使用
  • Docker 容器连接
  • Docker 安装 Nginx
  • Docker 安装 PHP
  • Docker 安装 Tomcat
  • Docker 安装 Python
  • Docker 安装 Redis
  • Docker 安装 MongoDB
  • Docker 常用命令
  • Docker 命令大全
  • Docker 资源汇总
  • Docker 备忘单
Web176教程
  • 首页
  • 教程汇总
  • 网站地图

Copyright © 2024 Web176教程 All right reseved. 粤ICP备12067512号