摘要:alpine容器一直是使用得比较多的,而且也是官方推荐使用的。但是官方的容器会有一些不方便的地方,比如安装软件, 时区不同等. 所以本文旨在完成一个alpine容器通用模板作为记录
# 导入的时候一定要指明版本, 不推荐使用 latest
FROM python:3.5-alpine3.8
# 修改镜像源地址为阿里云
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main" > /etc/apk/repositories
# 安装时区软件, 如果有自定义软件, 继续在后面添加
&& apk add --no-cache tzdata
# 设置默认时区
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
# 通过阿里云的源安装python第三方库, 此处使用 flask 举例
&& pip3 install --index-url http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com --no-cache-dir flask==1.0.2
# 清理运行时不需要的软件和安装缓存
&& apk del tzdata && rm -rf /var/cache/apk/* && rm -rf /root/.cache && rm -rf /tmp/*
# 指明工作目录
WORKDIR / CMD ["/bin/sh"]
完整文件如下:
https://github.com/ucookie/DockerBuild/blob/master/alpine-python/Dockerfile
FROM python:3.5-alpine3.8
LABEL author example@mail.com
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main" > /etc/apk/repositories
&& apk add --no-cache tzdata
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
&& echo "Asia/Shanghai" > /etc/timezone
&& pip3 install
--index-url http://mirrors.aliyun.com/pypi/simple
--trusted-host mirrors.aliyun.com
--no-cache-dir
flask==1.0.2
&& apk del tzdata
&& rm -rf /var/cache/apk/*
&& rm -rf /root/.cache
&& rm -rf /tmp/*
WORKDIR /
CMD ["/bin/sh"]