第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

docker(19):壓縮docker python 鏡像大小,減少依賴(lài)

標(biāo)簽:
Python Docker

1,关于python镜像


使用python开发的时候遇到问题。
发现构建之后 镜像还是比较大的。想办法减少点文件啥的。
能让镜像小点,这样发布部署啥的都方便。

2,构建dockerfile


python3 在构建pandas 遇到点问题。
还是使用python2 进行构建的:

FROM python:2-slim-jessie

#设置 apt sources pip timezone 参数
RUN echo "deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib" > /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib" >> /etc/apt/sources.list && \
echo "[global]" > /etc/pip.conf  && \
echo "trusted-host=mirrors.aliyun.com" >> /etc/pip.conf  && \
echo "index-url=http://mirrors.aliyun.com/pypi/simple" >> /etc/pip.conf && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone

#install other lib
#名字变了 libmariadbclient-dev-compat - MariaDB database development files (libmysqlclient compatibility)
# libmysqld-dev
# 安装完成就不需要 dev库了删除节省空间。
# pip install pyspark 好像有问题
# https://blog.csdn.net/i2cbus/article/details/41625337 参数优化。
RUN apt-get update && apt-get install -y python-dev libmysqlclient-dev gcc cron vim supervisor git && \
    echo "#define WITH_DOC_STRINGS 1" >> /usr/include/python2.7/pyconfig.h && \
    pip install --upgrade pip && \
    pip install mysqlclient  && \
    pip install sqlalchemy && \
    pip install requests && \
    pip install numpy pandas jupyter && \
    apt-get install -y libmysqlclient18  && \
    rm -rf /root/.cache && apt-get autoclean && \
    apt-get --purge autoremove -y python-dev libmysqlclient-dev gcc && \
    find /usr/lib/python2.7 -name '*.pyc' -delete && \
    find /usr/local/lib/python2.7 -name '*.pyc' -delete && \
    rm -rf /tmp/* /var/lib/apt/* /var/cache/* /var/log/*


#1.解决 pandas 数据插入问题。直接修改数据库驱动 sqlalchemy 修改:statement.replace("INSERT INTO","INSERT IGNORE INTO")
# debian /usr/local/lib/python2.7/site-packages/sqlalchemy
# ubuntu /usr/local/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/mysqldb.py
# 增加了一个 IGNORE 参数。
#2.解决torndb在python2下面的问题:
#http://blog.csdn.net/littlethunder/article/details/8917378
RUN sed -i -e 's/executemany(statement/executemany(statement.replace\("INSERT INTO","INSERT IGNORE INTO")/g' \
        /usr/local/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.py

#增加语言utf-8
ENV LANG=en_US.UTF-8
ENV LC_CTYPE=en_US.UTF-8
ENV LC_ALL=C

修改了debian mirror 使用aliyun 的地址,pip 安装也修改成 aliyun地址。
这样安装速度超级快。
在安装的时候用  python-dev libmysqlclient-dev gcc  安装完成之后把  
python-dev libmysqlclient-dev gcc  这些再删除,这样小很多。

find /usr/lib/python2.7 -name '*.pyc' -delete && \
find /usr/local/lib/python2.7 -name '*.pyc' -delete && \123

删除了pyc的 python文件能大概小 80 mb。

rm -rf /root/.cache && apt-get autoclean
rm -rf /tmp/* /var/lib/apt/* /var/cache/* /var/log/*123

删除临时文件。

经过一系列删除之后镜像大小到了 484MB ,我已经很努力了。

3,总结


精简了之后其他人在使用的时候就方便多了。在下载的速度也快了。
压缩之后会更小点。把股票系统的镜像再重新修改下。
就专注股票数据抓取,数据分析就行。展示使用golang再写一个。

原文出处

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消