『中级篇』Dockerfile实战(19)

作者: IT人故事会 | 来源:发表于2018-06-21 00:14 被阅读73次

    如何从一个python程序打包成为image,然后上传到dockerhub,最后下载image,生成对应的container容器。走咱们一起走个流程下来。

    python程序

    • 编写python程序
    mkdir flask-hello-world
    cd flask-hello-world/
    vim app.py
    
    image.png
    from flask import Flask
    app = Flask(__name__)
    @app.route('/')
    def hell():
            return "hello docker public attention:idig88"
    if __name__=='__main__':
            app.run(port=8888)
    
    • 运行python程序
    python app.py
    
    image.png
    #安装flask插件
    sudo yum -y install epel-release
    sudo yum -y install python-pip
    pip install flask
    python app.py
    
    image.png

    编写Dockerfile文件

    vim Dockerfile
    
    FROM python:2.7
    LABEL maintainer="zhugeaming"
    RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
    RUN echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
    RUN echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
    RUN echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
    RUN echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
    RUN apt-get update
    RUN pip install flask
    COPY app.py /app/
    WORKDIR /app
    EXPOSE 8888
    CMD ["python","app.py"]
    
    image.png
    docker image ls
    

    运行container

    docker run zhugeaming/flask-hello-world
    
    #后台运行
    docker run -d zhugeaming/flask-hello-world
    

    容器有2个一个是刚才执行,一个后台执行的,后台直接执行。不加入-d的已经退出了。

    PS:本次就是做了个实战,通过四步

    1. 代码编写好
    2. 环境python环境
    3. 第三方依赖
    4. 执行命令

    往期精彩
    1. docker导学(一)
    2. 容器的技术概述(二)
    3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
    4. docker官网介绍(四)
    5. 如何在mac上安装docker(五)
    6. 如何在window上安装docker(六)
    7. 如何在mac上通过vagrant安装虚拟机(七)
    8. 如何在window上通过vagrant安装虚拟机(八)
    9. docker-Machine的本地使用(九)
    10. docker-Machine的本地使用(十)
    11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
    12. docker架构和底层技术(12)
    13. docker Image概述(13)
    14. 手动建立一个base Image(14)
    15. 什么是Container(15)
    16. 构建自己的Docker镜像(16)
    17. Dockerfile详解(17)
    18. 镜像的发布(18)

    相关文章

      网友评论

        本文标题:『中级篇』Dockerfile实战(19)

        本文链接:https://www.haomeiwen.com/subject/xhyxeftx.html