alpine 容器优化

摘要: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"]
原文地址:https://www.cnblogs.com/newguy/p/10558488.html