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版权协议,转载请附上原文出处链接和本声明。