方法一、通过 Dockerfile 构建

创建Dockerfile

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

  1. mkdir -p ~/python ~/python/myapp

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

进入创建的python目录,创建Dockerfile

  1. FROM buildpack-deps:jessie
  2.  
  3. # remove several traces of debian python
  4. RUN apt-get purge -y python.*
  5.  
  6. # http://bugs.python.org/issue19846
  7. # > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python *, and that's not OK.
  8. ENV LANG C.UTF-
  9.  
  10. # gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
  11. ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
  12.  
  13. ENV PYTHON_VERSION 3.5.
  14.  
  15. # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
  16. ENV PYTHON_PIP_VERSION 8.1.
  17.  
  18. RUN set -ex \
  19. && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
  20. && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
  21. && export GNUPGHOME="$(mktemp -d)" \
  22. && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
  23. && gpg --batch --verify python.tar.xz.asc python.tar.xz \
  24. && rm -r "$GNUPGHOME" python.tar.xz.asc \
  25. && mkdir -p /usr/src/python \
  26. && tar -xJC /usr/src/python --strip-components= -f python.tar.xz \
  27. && rm python.tar.xz \
  28. \
  29. && cd /usr/src/python \
  30. && ./configure --enable-shared --enable-unicode=ucs4 \
  31. && make -j$(nproc) \
  32. && make install \
  33. && ldconfig \
  34. && pip3 install --no-cache-dir --upgrade --ignore-installed pip==$PYTHON_PIP_VERSION \
  35. && find /usr/local -depth \
  36. \( \
  37. \( -type d -a -name test -o -name tests \) \
  38. -o \
  39. \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
  40. \) -exec rm -rf '{}' + \
  41. && rm -rf /usr/src/python ~/.cache
  42.  
  43. # make some useful symlinks that are expected to exist
  44. RUN cd /usr/local/bin \
  45. && ln -s easy_install-3.5 easy_install \
  46. && ln -s idle3 idle \
  47. && ln -s pydoc3 pydoc \
  48. && ln -s python3 python \
  49. && ln -s python3-config python-config
  50.  
  51. CMD ["python3"]

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

  1. docker build -t python:3.5 .

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

  1. docker images python:3.5

方法二、docker pull python:3.5

查找Docker Hub上的python镜像

  1. docker search python

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

  1. docker pull python:3.5

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


使用python镜像

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

  1. #!/usr/bin/python
  2.  
  3. print("Hello, World!");

运行容器

  1. 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文件

输出结果:

  1. Hello, World!

Docker安装Python3.5的更多相关文章

  1. 为CentOS下的Docker安装配置python3【转】

    * 安装python3以及docker yum install docker docker pull centos service docker start systemctl enable dock ...

  2. Jenkins(2)docker容器中安装python3

    前言 使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境. 进jenki ...

  3. docker运行python3.6+flask小记

    docker新手. 目的:开发运行多个web api项目的时候,方便开发,兼顾部署. 方案大概这样: 1 隔离:系统运行在容器里,1容器只起1进程,代替在host起多个venv或虚拟机: 2调试和备份 ...

  4. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  5. 调度系统Airflow1.10.4调研与介绍和docker安装

    Airflow1.10.4介绍与安装 现在是9102年,8月中旬.airflow当前版本是1.10.4. 随着公司调度任务增大,原有的,基于crontab和mysql的任务调度方案已经不太合适了,需要 ...

  6. Linux下安装Python3.6.8并安装包

    一.问题在Linux下面安装Python3.6.8,由于在Linux中的Python是2.7.x的版本因此,我们需要在Linux中新下载一个Python 二.解决1.python的安装(1)下载包利用 ...

  7. elastalert docker安装

    基于对elasticsearch中数据监控需要,我尝试了sentinl和elastalert两款工具.虽然elastalert是纯文本,但易配置管理.elk自带的watch需要付费才可使用. 6.2x ...

  8. ESRally压测ElasticSearch性能 CentOS 7.5 安装 Python3.7

    1,CentOS 7.5 安装 Python3.7 1.安装开发者工具 yum -y groupinstall "Development Tools"2.安装Python编译依赖包 ...

  9. docker安装,和虚拟机区别

    docker安装 1 在 CentOS 6.4 上安装 docker docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172). docker官方 ...

随机推荐

  1. @Transactional事务不起作用原因

    想必也有人遇到@Transactional事务不起作用,当时我遇到这个问题也很懵逼,明明别人的代码跟自己的一样,为什么别人的@Transactional事务起作用而自己的事务却没有起作用.如下举例子说 ...

  2. iostart 命令

    Linux系统中的 iostat命令可以对系统的磁盘IO和CPU使用情况进行监控.iostat属于sysstat软件包,可以用yum -y install sysstat 直接安装. 格式: iost ...

  3. Djang之Model操作

    Django之Model操作 一.字段 1.字段列表: AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField ...

  4. AJAX四种跨域处理方法

    同源策略 同源策略 同源策略限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互.这是一个用于隔离潜在恶意文件的关键的安全机制. 具体定义是:一段脚本向后台请求数据,只能读取属于同一协议名. ...

  5. LeetCode题解之Pascal's Triangle II

    1.题目描述 2.题目分析 题目要求返回杨辉三角的某一行,需要将杨辉三角的某行的全部计算出来. 3.代码实现 vector<int> getRow(int rowIndex) { ) ,) ...

  6. 您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗?

    您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗? 介绍 假如你有50台服务器需要安装SQLSERVER,如果你用下一步下一步的方式,用远程桌面不停切换,那个效率... 大家 ...

  7. Prometheus Node_exporter 之 Network Sockstat

    Network Sockstat proc/net/sockstat 1. Sockstat TCP type: GraphUnit: shortLabel: SocketsTCP_alloc - 已 ...

  8. 最近用到的 sql 统计操作

    统计操作 1.分组统计group by select id,name,count(*) as '总数'  from test1 group by id,name     --group by   分组 ...

  9. 试试SQLServer 2014的内存优化表(转载)

    SQL Server2014存储引擎:行存储引擎,列存储引擎,内存引擎 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据 ...

  10. vscode对Vue文件的html部分格式化失效问题解决办法

    使用vscode编辑vue文件时发现突然格式化代码不会对<template> </template>之间的html生效了,解决办法很简单 文件 --> 首选项 ---&g ...