Docker--06 使用centos7构建python3.8镜像

文章目录

Dockerfile

FROM centos:7
LABEL maintainer="[email protected]"
LABEL description="centos7 & python3.8"

COPY ./Python-3.8.0.tgz ./Python-3.8.0.tgz

RUN set -ex \
    # 预安装所需组件
    && yum update -y \
    && yum install -y wget tar libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make initscripts \
    && yum clean all \
    # && wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz \
    && tar -zxvf Python-3.8.0.tgz \
    && cd Python-3.8.0 \
    && ./configure prefix=/usr/local/python3 \
    && make \
    && make install \
    && make clean \
    && rm -rf /Python-3.8.0* \
    && yum install -y epel-release \
    && yum install -y python-pip
# 设置默认为python3
RUN set -ex \
    # 备份旧版本python
    && mv /usr/bin/python /usr/bin/python27 \
    && mv /usr/bin/pip /usr/bin/pip-python2.7 \
    # 配置默认为python3
    && ln -s /usr/local/python3/bin/python3.8 /usr/bin/python \
    && ln -s /usr/local/python3/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
# 基础环境配置
RUN set -ex \
    # 修改系统时区为东八区
    && rm -rf /etc/localtime \
    && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && yum install -y vim \
    # 安装定时任务组件
    && yum -y install cronie
# 支持中文
RUN yum install kde-l10n-Chinese -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 更新pip版本
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
ENV LC_ALL zh_CN.UTF-8
ENV TZ Asia/Shanghai
ENV PATH /usr/local/python3/bin/:$PATH
RUN ln -sf /usr/share/zoneinfo/Asia/ShangHai /etc/localtime

命令

docker bulid -t python3.8 .

猜你喜欢

转载自blog.csdn.net/qq_25672165/article/details/121163278