摘要: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"]