文章目录
- FROM python:3.12.4 ##基于什么版本的python,取决于你的环境,可以pip检测一下 LABEL maintainer=”laohu” ##命名标签 RUN mkdir -p /prediction_service_revised ##创建容器内的工作目录 COPY Miniconda3-latest-Linux-x86_64.sh /prediction_service_revised ##将自己构建所需要的工具复制到工作目录中 ADD ./prediction_service_revised.tar.gz /prediction_service_revised #将python包导入到容器 WORKDIR /prediction_service_revised ##定义工作目录 CMD [“python”] ##命令使用
- docker build -t prediction_service_revised:v1 .
- docker images 此方法,构建快,但是完全为基础镜像,任何python所需要的库都没有,需要研发自行下载!
- docker system df 或者 docker system df -v
- (生成需要的依赖库环境包) 命令执行完成后会生成一个叫requirements.txt的文件 pip freeze > requirements.txt 这些依赖包并不能一次性下载完成,构建镜像时,若构建不成功,则会产生构建缓存,占空间!
- FROM python:3.12.4 LABEL maintainer=”laohu’ RUN apt-get update && apt-get install -y build-essential RUN mkdir -p /prediction_service_revised COPY requirements.txt /prediction_service_revised ADD ./prediction_service_revised.tar.gz /prediction_service_revised WORKDIR /prediction_service_revised RUN pip install –upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ CMD [“python”] 第三步,构建镜像 docker build -t prediction_service_revised:v1 . 出现下列之类的问题,就是下载对应的pip依赖库失败,需要根据问题响应,依次解决依赖库问题,直至构建成功! 例: 构建成功: 构建缓存如下: docker system df 或者 docker system df -v
- docker system prune -a –volumes 这会删除所有: 已停止的容器 没有 tag 的镜像 没用的卷 没用的网络 构建缓存 空间释放得最快,但要注意数据卷和缓存一旦清理,就无法恢复。
- sudo du -h –max-depth=1 /var/lib/docker | sort -h 常见大户: overlay2/:镜像和容器的文件系统 volumes/:卷的数据 buildkit/:构建缓存 如果 build kit 特别大,就说明问题出在构建缓存。 到此这篇关于python项目打包成docker容器镜像的两种方法实现的文章就介绍到这了,更多相关python打包成docker镜像内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: docker打包一个包含python3的centos8的新镜像过程 python项目打包成docker镜像并运行的完整指南 将Python项目打包成Docker镜像的全过程 将Python Flask服务打包成Docker镜像并运行的完整指南 docker打包python镜像的全教程分享 将本地Python项目打包成docker镜像上传到服务器并在docker中运行 python flask项目打包成docker镜像发布的过程
目录
- 简单版:(一次成功,后续下载对应的软件依赖)
- 第一步:肯定是构建dockerfile,如下:
- 第二步,构建镜像
- 等待构建,构建完成!
- 可查看构建缓存(只有镜像占用的位置,这里我删除了,所以不显示!)
- 复杂版:(构建多次,依赖包下载依赖于选择的库地址,构建缓存较大)
- 第一步:在工作目录终端,使用pip freeze > requirements.txt 命令将项目依赖库进行导出。
- 第二步:构建dockerfile
- 那么问题来了,如何清理这些缓存?
- 一键清理如果你只是做实验,对数据不敏感,可以直接:
- 更深入的检查有时候你清理完,空间还是很大,可以直接查看 /var/lib/docker 下哪些目录占用:
方便运维、麻烦研发!
现有项目如下:

已经压缩成tar包,需要制作成容器镜像
如何操作?
FROM python:3.12.4 ##基于什么版本的python,取决于你的环境,可以pip检测一下
LABEL maintainer="laohu" ##命名标签
RUN mkdir -p /prediction_service_revised ##创建容器内的工作目录
COPY Miniconda3-latest-Linux-x86_64.sh /prediction_service_revised ##将自己构建所需要的工具复制到工作目录中
ADD ./prediction_service_revised.tar.gz /prediction_service_revised #将python包导入到容器
WORKDIR /prediction_service_revised ##定义工作目录
CMD ["python"] ##命令使用
docker build -t prediction_service_revised:v1 .
docker images
此方法,构建快,但是完全为基础镜像,任何python所需要的库都没有,需要研发自行下载!

docker system df
或者 docker system df -v

方便研发、麻烦运维!
依旧是之前的项目
(生成需要的依赖库环境包)
命令执行完成后会生成一个叫requirements.txt的文件
pip freeze > requirements.txt
这些依赖包并不能一次性下载完成,构建镜像时,若构建不成功,则会产生构建缓存,占空间!
FROM python:3.12.4
LABEL maintainer="laohu'
RUN apt-get update && apt-get install -y build-essential
RUN mkdir -p /prediction_service_revised
COPY requirements.txt /prediction_service_revised
ADD ./prediction_service_revised.tar.gz /prediction_service_revised
WORKDIR /prediction_service_revised
RUN pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
CMD ["python"]

第三步,构建镜像
docker build -t prediction_service_revised:v1 .
出现下列之类的问题,就是下载对应的pip依赖库失败,需要根据问题响应,依次解决依赖库问题,直至构建成功!

例:

构建成功:

构建缓存如下:
docker system df 或者 docker system df -v

# 删除未使用的构建缓存
docker builder prune
# 更彻底,删除所有缓存,包括可能还会用到的
docker builder prune --all
docker builder prune --all 清理构建缓存
docker container prune 清理没用的容器
docker image prune 清理悬空镜像
docker volume prune 清理没用的卷
docker network prune 清理没用的网络
docker system prune -a --volumes 一键清理
docker system prune -a --volumes
这会删除所有:
已停止的容器
没有 tag 的镜像
没用的卷
没用的网络
构建缓存
空间释放得最快,但要注意数据卷和缓存一旦清理,就无法恢复。
sudo du -h --max-depth=1 /var/lib/docker | sort -h
常见大户:
overlay2/:镜像和容器的文件系统
volumes/:卷的数据
buildkit/:构建缓存
如果 build kit 特别大,就说明问题出在构建缓存。
到此这篇关于python项目打包成docker容器镜像的两种方法实现的文章就介绍到这了,更多相关python打包成docker镜像内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- docker打包一个包含python3的centos8的新镜像过程
- python项目打包成docker镜像并运行的完整指南
- 将Python项目打包成Docker镜像的全过程
- 将Python Flask服务打包成Docker镜像并运行的完整指南
- docker打包python镜像的全教程分享
- 将本地Python项目打包成docker镜像上传到服务器并在docker中运行
- python flask项目打包成docker镜像发布的过程