docker打包python应用_关于 docker 打包 Python 环境的问题

博客作者比较了基于Alpine和Slim的Docker镜像构建过程,探讨了缓存优化、体积大小以及使用过程中遇到的问题。尽管Alpine镜像通常更小,但在实际应用中,Alpine构建的镜像体积反而更大,且遇到了更多的问题。作者建议考虑使用Slim镜像,并优化RUN指令以利用缓存加速构建。
摘要由CSDN通过智能技术生成

kentxxq

2018-11-22 17:02:11 +08:00

```python:3-alpine

RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://mirrors.huaweicloud.com/@g" /etc/apk/repositories \

&& apk update \

&& apk upgrade \

&& apk add --no-cache git build-base make linux-headers openssl-dev libffi-dev \

&& pip --no-cache-dir install pip -U \

&& pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ \

&& pip --no-cache-dir install requirementslib \

&& python tt.py > requirements.txt \

&& pip --no-cache-dir install -r requirements.txt \

&& rm -rf /var/cache/apk/*

```

```python:3-slim

FROM python:3-slim

COPY . /root/

WORKDIR /root

RUN pip install pip -U \

&& pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ \

&& pip --no-cache-dir install requirementslib \

&& python tt.py > requirements.txt \

&& pip --no-cache-dir install -r requirements.txt

CMD ["gunicorn","-c","gunicorn_config.py","run:app"]

```

最终通过这几个包,满足了我现在的需要。但是:

```

myapp alpine bc665f800e59 20 seconds ago 318MB

myapp slim e675bfd36544 5 minutes ago 202MB

```

1.体积反而更大了...(不想再花更多时间在这上面)。我其实只看重这点才用 alpine

2.我还应该把 RUN 里面 apk 语句放到一个新的层来做缓存,加速构建

3.pipenv 在 alpine 下问题也比 slim 版本多.....

安心写代码去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值