python 各版本镜像_Python 基础镜像构建
Python 基础镜像构建
如何制作一个定制的 Python 基础 Docker 镜像
目标:准备一个定制的 Python 基础镜像。
基础镜像,通常为含最小功能的系统镜像,之后的应用镜像都以此为基础。
制作基础镜像
选择 Ubuntu 官方的 14.04 版本为我们依赖的系统镜像。
FROM ubuntu:trusty
用 RUN 命令调用 apt-get 包管理器安装 Python 环境所依赖的程序包。
安装依赖包相对比较固定,因此该动作应该尽量提前,这样做有助于提高镜像层的复用率。
安装完依赖后清理缓存文件 / 临时文件可以显著的减少镜像大小。
RUN apt-get update && \
apt-get install -y python \
python-dev \
python-pip && \
rm -rf /var/lib/apt/lists/*
以下这个方法不建议采用,原因是比上述命令多添加了一层镜像,然而并没有降低总镜像的体积。
RUN apt-get update && \
apt-get install -y python \
python-dev \
python-pip
RUN rm -rf /var/lib/apt/lists/*
用 RUN 命令调用 mkdir 来准备一个干净的放置代码的目录。
RUN mkdir -p /app
指定其为当前的工作目录。
WORKDIR /app
指定暴露的容器内端口地址,最后设置默认启动命令。
EXPOSE 80
CMD ["bash"]
至此一个 Python 的基础镜像制作完毕,您可以在本地运行 docker build -t registry.cosmoplat.com/test/python-based:1.0.0 . 来构建出这个镜像并命名为 registry.cosmoplat.com/test/my-python-base:1.0.0 。
Python 家族成员众多,因此需要一个通用的基础镜像,并在此基础上根据需求进行定制。
完整的 Dockerfile
# Ubuntu 14.04,Trusty Tahr(可靠的塔尔羊)发行版
FROM ubuntu:trusty
# APT 自动安装 Python 相关的依赖包,如需其他依赖包在此添加
RUN apt-get update && \
apt-get install -y python \
python-dev \
python-pip \
# 用完包管理器后安排清理缓存文件/临时文件可以显著的减少镜像大小
&& apt-get clean \
&& apt-get autoclean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# 配置默认放置 App 的目录
RUN mkdir -p /app
WORKDIR /app
EXPOSE 80
CMD ["bash"]
至此,便可得到 python 的基础镜像,接下来便可在此基础上根据需求定制 python 应用了
镜像构建与上传
Dockerfile 制作好之后就需要构建镜像,借助PaaS平台可以快速构建以及上传。
也可以在Docker环境中使用命令行进行构建与上传。
PaaS 平台镜像构建与上传请看教程 PaaS 平台应用镜像构建
python 各版本镜像_Python 基础镜像构建相关推荐
- Docker基础镜像操作系统基础镜像对比(参考官方文档),优化docker镜像
目录: 一. 选择Docker基础镜像 操作系统基础镜像 1. busybox 2. Alpine 3. CentOS 4. Ubuntu 5. Debian 二.编程语言基础镜像 应用基础镜像 其它 ...
- python until怎么用_python基础之从认识python到python的使用
python的历史: python的创始人是吉多·范罗苏姆(Guido van Rossum),人称"龟叔",1989年圣诞节期间,Guido开始写Python语言的编译器.他希望 ...
- Python按键精灵自动化_Python基础:了解Python与pycharm
认识 Python 人生苦短,我用 Python -- Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Py ...
- python 库 镜像_python安装镜像库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python文件操作解码_python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...
- pythonn 安装包 清华镜像_Python 清华镜像设置
大家在通过pip 或conda 下载一些很大的第三方库时是不是有一种等到坟头的草都三尺高了,还没下载完的感觉,而且大的第三方库长时间下载,可能会导致超时自动中断下载,感谢清华的大佬们 临时使用: pi ...
- python流程控制框架_Python基础(相关历史、交互、简单流程控制)
开始学习Python啦,希望能坚持下来,在博客园里记录一下学习过程,感谢博客园提供平台! Python发展史 1989年圣诞节,Guido开始写Python语言的编译器,Python这个名字源于Gui ...
- python新手入门课_Python基础视频12集入门课程
视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...
- python中factor函数_Python基础教程
6.4.5 参数收集的逆过程 假设有如下函数: def add(x,y): return x+y 比如说有个包含由两个相加的数字组成的元组: params = (1,2) 使用*运算符对参数进行&qu ...
最新文章
- 【C++】拷贝,赋值与构造
- 聊一聊 Java 服务端中的乱象
- 【FFmpeg】FFmpeg 帮助文档使用
- Spring Boot Security
- Unable to load native-hadoop library for your platform
- C# 10 新特性 —— CallerArgumentExpression
- 八皇后解法(回溯法)
- String、StringBuffer 、StringBuilder 的区别(转)
- innerhtml有值但是页面上无显示_西门子PLCS7-1200用户自定义Web页面制作
- java 实现扑克牌洗牌功能
- Android音乐播放器
- 经典编程题——折纸问题
- 算法图解——广度优先搜索
- 使用GDB调试Linux内核空指针问题
- (Git/Github笔记)Git使用时错误记录
- vue使用echarts图表小结
- linux服务精简优化解析,CentOS系统环境精简优化详解
- Slog41_支配vue框架初阶项目之博客网站-单页-登陆成功页面的布局和定位
- ie浏览器缓存不能更新页面数据
- SQL语句求总数、求平均数、降序排…