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
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号