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 版本多.....
安心写代码去了