Python Docker 最小化镜像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Docker 最小化镜像相关的知识,希望对你有一定的参考价值。
参考技术A对比下 Python Docker 官方镜像 ,alpine 是最小的版本
我的项目中用到了 mysqlclient 包里的 MySQLdb 库,需要安装一些环境依赖
requirements.txt
Dockerfile
这种方式打包出来的镜像只有 115MB :)
精简的思路就是使用最小的根镜像,然后按需安装必要的依赖,最后清理掉临时没用的文件
docker构建JDK最小镜像
一、构建最小JDK
1、解压jre
# mv jre-8u181-linux-x64.tar.gz java1.8.tar.gz # tar -xvcf jre-8u181-linux-x64.tar.gz
2、删除无用文件
# cd jre1.8.0_181/ # rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html # rm -rf lib/plugin.jar lib/ext/jfxrt.jar bin/javaws lib/javaws.jar lib/desktop plugin lib/deploy* lib/*javafx* lib/*jfx* lib/amd64/libdecora_sse.so lib/amd64/libprism_*.so lib/amd64/libfxplugins.so lib/amd64/libglass.so lib/amd64/libgstreamer-lite.so lib/amd64/libjavafx*.so lib/amd64/libjfx*.so
3、重新打包
# tar acf java1.8.tar.gz java1.8
4、新建Dockerfile
# using alpine-glibc instead of alpine is mainly because JDK relies on glibc FROM docker.io/jeanblanchard/alpine-glibc # author MAINTAINER simon # A streamlined jre ADD java1.8.tar.gz /usr/java/jdk/ # set env ENV JAVA_HOME /usr/java/jdk ENV PATH ${PATH}:${JAVA_HOME}/bin # run container with base path:/opt WORKDIR /opt
5、构建docker镜像
docker build -t simon/java8:1.0 .
这样构建的镜像大概120M左右
以上是关于Python Docker 最小化镜像的主要内容,如果未能解决你的问题,请参考以下文章