Dockerfile打包Centos7+python3.10.6
文件准备
Dockerfile就是构建docker的基础设置,requirement,txt 是python依赖第三方库,Python-3.10.6.tar.xz是从https://registry.npmmirror.com/binary.html?path=python/3.10.6/下,速度快一点。
Dockerfile
FROM centos:7
# yum 更新
RUN set -ex \
&& yum -y install zlib-devel bzip2-devel libffi-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget \
&& yum clean all \
&& mkdir /usr/local/python \
&& mkdir /home/data
# 复制所有文件到home/data/目录
COPY . /home/data
RUN set -ex \
&& cd /home/data \
&& tar -xvJf Python-3.10.6.tar.xz \
&& cd Python-3.10.6 \
&& ./configure prefix=/usr/local/python \
&& make && make install \
&& yum install -y epel-release \
&& yum install -y python-pip \
&& rm -f /usr/bin/python \
&& rm -f /usr/bin/pip \
&& ln -s /usr/local/python/bin/python3 /usr/bin/python \
&& ln -s /usr/local/python/bin/pip3 /usr/bin/pip
# 修复因修改python版本导致yum失效问题
RUN set -ex \
&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/bin/yum \
&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/libexec/urlgrabber-ext-down \
&& yum install -y deltarpm
# 安装python
RUN set -ex \
&& python -V \
&& python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
# # 安装yum 工具
RUN set -ex \
&& yum install -y lrzsz \
&& yum install -y net-tools \
&& yum install -y git \
&& yum install -y zip unzip
# 启动配置
RUN set -ex \
&& cd /home \
&& pip list \
&& echo "构建成功"
在里面先暂且不用pip下载第三方依赖库。
构建
进入文件夹内执行
sudo docker build -t demo_p:v1 .
在docker images
语句下就可以看见了
运行镜像以及进入容器
语句如下
运行镜像,进行重命名,方便后续操作
docker run -itd --name centos-test demo_p:v1
进入容器
docker exec -it centos-test /bin/bash
在容器里继续
先看下容器的基本信息
cat /etc/redhat-release
pip list
python
都可以正常运行,先将pip升级最新,可以使用豆瓣源。
pip install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
还有requirements.txt
cd home/data
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
等待完成,中间有几次报错,是第三方库版本号不对,去掉后面的版本就可以了。
将容器变成镜像
docker commit 3c9382ec04aa hahaha:v1
完成后就在镜像里看见了,这个时候导出上传都可以啦
就酱
本文来自博客园,作者:赫凯,转载请注明原文链接:https://www.cnblogs.com/heKaiii/p/17137396.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律