导航

初入docker

Posted on 2021-05-06 09:21  old_dog~  阅读(61)  评论(0)    收藏  举报
1.简介
  • 是什么 巴拉巴拉一长串:https://docs.docker.com/engine/ + 集装箱,可以装最小的完整运行环境。比虚拟机还小的虚拟机(只是比喻)。

    • 主要概念:

      • 镜像:小至又小的系统文件

      • 容器:系统文件的运行实例

      • 仓库:docker的github

  • 主要用途: 集成开发环境和项目,一起交付,避免软件系统造成项目问题

  • 安装: win10: 可以,但是不方便。需要开启虚拟化,会导致虚拟机、模拟器无法运行。

    linux: 任意版本都可以

2.示例——在docker中运行一个Flask项目
  • flask项目——flask_test/app.py

    from  flask   import Flask
    app = Flask( __name__ )

    @app.route("/")
    def  index():
       return "<h1> hello   word , this is a test! </h1>"

    if __name__ == "__main__":
       app.run(host='0.0.0.0', port=9876, debug=True )

  • Dockerfile文档——https://www.cnblogs.com/panwenbin-logs/p/8007348.html

    FROM python:3 # 基础镜像

    WORKDIR /app # 工作目录

    ADD . /app # 当前路径文件加入到/app

    RUN pip install flask # 运行脚本,安装flask

    EXPOSE 9876 # 对外的端口,使用 -P端口映射时可使用

    CMD ["python3", "app.py"] # 最后执行的程序

    下面这张图很魔性

     

     

  • 创建镜像:

    docker build . -t 'flask_test'

    + ’. ‘当前路径下的Dockerfile
    + ‘-t flask_test’ 创建的镜像名称
  • 运行容器

    docker run -p 5000:9876 flask_test

    • 5000 本地主机端口

    • 9876 容器端口,Dockerfile中的expose参数

    • -p 将本地端口映射到主机端口

  • 验证: 打开本地主机浏览器,输入127.0.0.1:5000。 对,就是5000

  • 注意:

    1. 首先得在Dockerfile文件中暴露7896端口吧,不然映射啥??其他端口也一样。

    2. flask项目指定端口得注意哈!!!!

    3. -v project : 注入项目文件到容器,避免重新创建镜像。