成功最有效的方法就是向有经验的人学习!

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"]

完整文件如下:

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"]
赞(0) 打赏
未经允许不得转载:陈桂林博客 » alpine 容器优化

大佬们的评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    如果docker的镜像名称里面包含了“-”,那么dockerfile每次都会从远程拉取镜像。
    dockerfile按理来说只需一次拉取远程镜像就好了,之后每次都是使用第一次拉取的远程镜像。
    但是实际上出现的问题是:dockerfile每次都从远程拉取镜像,浪费了资源和时间。

    123456QQ姐10个月前 (09-13)回复

全新“一站式”建站,高质量、高售后的一条龙服务

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏