centos和alpine基础镜像对比

以Flask部署为例,采用supervisor+uwsgi方式部署

首先有个好消息:supervisor在2019年4月开始支持python3,安装:

pip3 install supervisor

centos

FROM docker.io/centos

MAINTAINER LLC

RUN yum -y install wget && yum clean all && \
    mkdir -p /etc/yum.repos.d/bak/ && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ && \
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
    wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo && \
    \
    yum makecache all && \
    yum -y install gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel && \
    \
    mkdir -p /opt/dist && cd /opt/dist && wget https://npm.taobao.org/mirrors/python/3.6.5/Python-3.6.5.tgz && \
    tar xf Python-3.6.5.tgz && cd Python-3.6.5 && \
    mkdir -p /opt/python3 && ./configure --prefix=/opt/python3 && make -j16 && make install && \
    \
    /opt/python3/bin/pip3 install supervisor flask uwsgi -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && \
    \
    /opt/python3/bin/echo_supervisord_conf > /etc/supervisord.conf && \
    echo "[include]" >> /etc/supervisord.conf && \
    echo "files = /etc/supervisord.d/*.conf" >> /etc/supervisord.conf && \
    \
    yum clean all && \
    cd /tmp && rm -rf /opt/dist

ENTRYPOINT ["/opt/python3/bin/supervisord", "-n","-c", "/etc/supervisord.conf"]

alpine

FROM alpine:3.9

MAINTAINER LLC

RUN echo "http://mirrors.aliyun.com/alpine/v3.9/main/" > /etc/apk/repositories && \
    echo "http://mirrors.aliyun.com/alpine/v3.9/community/" >> /etc/apk/repositories && \
    \
    apk add --no-cache gcc python3 python3-dev linux-headers libc-dev && \
    apk add --no-cache bash bash-doc bash-completion && \
    \
    pip3 install supervisor flask uwsgi -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && \
    \
    echo_supervisord_conf > /etc/supervisord.conf && \
    echo "[include]" >> /etc/supervisord.conf && \
    echo "files = /etc/supervisord.d/*.conf" >> /etc/supervisord.conf && \
    \
    rm -rf /var/cache/apk/* && \
    rm -rf ~/.cache/pip

ENTRYPOINT ["supervisord", "-n","-c", "/etc/supervisord.conf"]

结果对比

以alpine为基础镜像构建后的体积要小很多,构建速度也比较快 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

llc的足迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值