zoukankan      html  css  js  c++  java
  • 面面观 | 使用alpinelinux 构建python http 项目

    1,开始学习构建docker镜像

    http://study.163.com/course/courseMain.htm?courseId=1273002 

    课程讲的是使用centos构建。自己也一直使用centos,但是有个问题。 

    就是centos镜像比较大,安装的东西比较多。真正的Linux其实用不了那么多,尤其是在使用Docker的时候,打包的次数越多,镜像文件堆积的越多呢。 

    所以选择使用 alpine(阿尔卑斯,和那个糖名字一样)。新智云官方网站:www.enncloud.cn 

    有iOS的版本,大约81mb,但是在docker上面使用的版本是更精简的才 4mb。但是这个是没有bash的,需要安装一个bash。 

    安装了之后才 5mb。剩下的就是安装各种软件了。基础的版本就是这样小,而对于centos来说,一个镜像就要600多mb。更别说装东西之后了。

    2,构建一个alpine 镜像

    目标,做2个镜像,一个数据库的,一个Python的。 

    然后连接起来。能存储,能查询,就可以了。 

    充分利用docker的优势,首先要构建一个基础的python环境。 

    然后再在这个环境的基础上开发程序。 

    否则的话每次从0构建太慢了。主要是因为网络慢。 

    mkdir alpine-python 

    vi alpine-python/Dockerfile

    特别要注意下:

    其中 bash 是方便进入镜像里面查看的。 

    这个是设置一个国内清华大学的站点。 

    因为直接拉官网的太慢了。有的时候就卡死了。 

    当然也可以直接建立一个内网的私服。那样就更快了。 

    参考这个哥们的可以做个私服: 

    https://my.oschina.net/funwun/blog/710877

    然后打包一个基础的python 包:

    如果没有报错就可以了。python环境依赖的东西比较多呢。 

    而且python在安装的时候还需要gcc的编译工具。 

    使用 docker images 查看编译后的镜像: 

    发现也已经 几百兆了。似乎明白了为啥要开发一个golang了。 

    golang的文件也就 几兆吧。对于镜像来说真的是太好了。

    使用docker images 查看镜像:

    3,构建http项目

    再利用alpine-python镜像做一个http服务 

    vi main.py

    编写Dockerfile

    编译:

    4,运行http

    直接运行就可以了。但是有个问题,访问端口没结果。

    报错是这样的: 

    https://github.com/docker/docker/issues/2174 

    但是还没有找到解决办法。

    已经解决,是python程序需要主动绑定。

    这样写就可以了。

    4,总结

    总的来说docker还是非常的好用的,但是遇到一个问题。 

    使用python 和PHP的项目都需要安装非常大的包。 

    造成了本来就很小的镜像,alpine 5mb的变成了几百mb。 

    大概明白了golang为适合云服务了。因为golang,最后编译的文件才几mb。 

    再配合上alpine就太完美了。两个加起来 几十mb搞定。 

    每次升级备份都非常的方便。而Java加上jdk,在加上jar包依赖。 

    就变得臃肿起来了。继续研究。

  • 相关阅读:
    HDU 1495 非常可乐
    ja
    Codeforces Good Bye 2016 E. New Year and Old Subsequence
    The 2019 Asia Nanchang First Round Online Programming Contest
    Educational Codeforces Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)
    AtCoder Regular Contest 102
    AtCoder Regular Contest 103
    POJ1741 Tree(点分治)
    洛谷P2634 [国家集训队]聪聪可可(点分治)
  • 原文地址:https://www.cnblogs.com/enncloudcn/p/6909467.html
Copyright © 2011-2022 走看看