Dockerfile 拉取ubuntu:20.04镜像并配置python3.9的环境

Dockerfile 拉取ubuntu:20.04镜像并配置python3.9的环境

1.构建镜像
requirements.txt里是Python要安装的包,文件和Dockerfile放在同一个目录。
代码结构
在这里插入图片描述

2.一次性构建

FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG C.UTF-8
RUN sed -i 's@http://archive.ubuntu.com/ubuntu/@http://mirrors.aliyun.com/ubuntu/@g' /etc/apt/sources.list

RUN apt-get update -qq
RUN mkdir -p /gemdale
WORKDIR /gemdale
COPY TBQA/requirements.txt requirements.txt
ADD TBQA /gemdale
RUN cp /gemdale/app.py /gemdale/scripts

RUN  apt-get clean && \
     apt-get update && \
     apt-get install -y libmysqlclient-dev tzdata  \
                        python3 python3-dev python3-pip libpcre3 libpcre3-dev  uwsgi-plugin-python3\
    && apt-get clean \
    && apt-get autoclean \
   && ln -sf /usr/bin/pip3 /usr/bin/pip && ln -sf /usr/bin/python3 /usr/bin/python \
   && pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple



RUN apt-get update -q \
    && apt-get install -y wget curl vim

CMD bash -c 'sh /gemdale/scripts/build.sh;sh /gemdale/scripts/run_sync.sh'

3.分开构建,先做个基础镜像,这样不用每次全部构建,很耽误时间

FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG C.UTF-8
RUN sed -i 's@http://archive.ubuntu.com/ubuntu/@http://mirrors.aliyun.com/ubuntu/@g' /etc/apt/sources.list

RUN apt-get update -qq
COPY TBQA/requirements.txt requirements.txt

RUN  apt-get clean && \
     apt-get update && \
     apt-get install -y libmysqlclient-dev tzdata  \
                        python3 python3-dev python3-pip libpcre3 libpcre3-dev  uwsgi-plugin-python3\
    && apt-get clean \
    && apt-get autoclean \
   && ln -sf /usr/bin/pip3 /usr/bin/pip && ln -sf /usr/bin/python3 /usr/bin/python \
   && pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple



RUN apt-get update -q \
    && apt-get install -y wget curl vim

4.流水线里面运用基础镜像增量构建

FROM gem-acr-p-a01-registry.cn-shenzhen.cr.aliyuncs.com/devops/ubuntu20-python3.9:v0.1
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG C.UTF-8
###
# timezone setting
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

RUN mkdir -p /gemdale
WORKDIR /gemdale
COPY TBQA/requirements.txt requirements.txt
ADD TBQA /gemdale
RUN cp /gemdale/app.py /gemdale/scripts
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

CMD bash -c 'sh /gemdale/scripts/build.sh;sh /gemdale/scripts/run_sync.sh'

5.云效流水线发布
在这里插入图片描述
在这里插入图片描述


版权声明:本文为jialiu111111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。