因此,我尝试使用docker-compose将多容器服务(Web,Worker,Redis)部署到ECS。该服务具有ML模型,该模型需要Tensorflow和Keras作为依赖项。运行pip install -r requirements.txt后,映像大小增加到超过2gb,其中1.75gb是依赖项。有没有办法减小此图像的大小?由于在云上部署如此大的映像有很多弊端?
用于Web的Dockerfile:
FROM python:3.6
WORKDIR .
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD ["python", "views.py"]
requirements.txt:
Flask==1.1.2
numpy==1.18.5
opencv-python==4.2.0.34
Pillow==7.1.2
redis==3.5.3
rq==1.4.3
boto3
pymongo
Keras==2.2.4
tensorflow==1.15.0
matplotlib
答案 0 :(得分:1)
鉴于您的依赖性导致1.75GB的增加,您应该从那里开始。没有简单的灵丹妙药。这些是第一步:
pip install --no-cache-dir -r requirements.txt && rm -rf somepath
之后立即删除,则docker映像将不会增长。python:3.6-slim
。