创建应用

首先,编写一个简单的Flask应用:docker_test/flask_app.py

Docker 安装

请根据自己的操作系统自行安装。

Docker简介

  • Docker 镜像
    Docker镜像 (Image)类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模版,包含了文件系统。镜像是创建Docker容器的基础。
  • Docker 容器
    Docker容器 (Container)类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不相见的。
  • Docker 仓库
    Docker仓库 (Repositort)类似于代码仓库,是Docker集中存放镜像文件的场所。根据公开分享与否,Docker仓库分为公开仓库 (Public)和私有仓库 (Private)两种形式。
    目前最大的公开仓库是Docker Hub,存放了大量的镜像供用户下载。

Docker 部署步骤

下载python镜像

可在docker.hub网站上查询python镜像的版本,下载想要的版本
docker pull python:XXX

运行python镜像

docker run -it python:XXX

另起一个控制台窗口,查看上步容器的ID

docker ps|grep python 可以看到当前容器的ID

进入python容器

docker exec -it 容器ID /bin/bash

安装Flask应用所需的依赖包

pip install -r requirements.txt

安装完成后,另起一个窗口,将当前的容器制作成镜像

docker commit 容器ID 新名字

在docker_test/下编写dockfile, 举例

FROM docker_test:v0.1 COPY flask_app.py /flask_app.py EXPOSE 5000 ENTRYPOINT ["python","flask_app.py"]

第一行为基础镜像,即第7步中制作的镜像
第二行是将Python程序导入容器
第三行是暴露python的端口
第四行是运行容器时执行的命令

在docker_test/下制作镜像

docker build -t 镜像名字 .

运行容器

docker run -p5000:5000 镜像名字

调试

Docker部署Flask应用的更多相关文章

  1. docker 部署 flask(一)配置环境及测试

    简介: flask也是要部署的.不能老在我们的pycharm里面跑测试服务器. 各种配置linux,我看就算了吧.我们用docker部署. 也就两三行命令. 一:选择基础镜像 GitHub repo: ...

  2. docker 部署 flask(二)编写及生成镜像。

    简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是 ...

  3. 基于docker部署flask+gunicorn+nginx

    nginx安装在/etc/下,项目映射在docker中的/var/www/下 1.创建docker容器将端口映射出来,将docker外的项目映射到docker中 #docker run -it -p ...

  4. docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt

    简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介 ...

  5. 用docker部署flask+gunicorn+nginx

    说来惭愧,写了好几个flask django项目都是在原型阶段直接python app.py 运行的,涉及到部署用nginx和gunicorn 都是让别人帮我部署的,据说好像说很麻烦的样子,我就没自己 ...

  6. 从零开始docker部署flask

    1.下载一个Ubuntu镜像 2.启动镜像,使用apt-get安装python.安装pip,建议也装个vim吧 3.通过以上的容器生成一个新的镜像,命令如下docker commit afcaf46e ...

  7. 使用docker部署flask遇到的问题

    容器内能访问,但是外网映射了端口怎么也访问不了 解决方法: app.run() 添加参数host='0.0.0.0'

  8. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  9. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

随机推荐

  1. python基础面试题总结

    1.python中深拷贝和浅拷贝的理解 自己理解:浅拷贝,只是拷贝引用,不开辟新的空间存储拷贝内容. 深拷贝,就是在内存中,开辟一个新的内存地址,将拷贝内容放到新的地址中去. 验证:对于数字,字符串, ...

  2. docker:docker的基本了解

    1.什么是docker 简单的理解:docker相当于vmvare,容器相当于多个虚拟机,vmvare上可以运行ubantu16.04的虚拟机,也可以运行centos虚拟机,还可以运行redhat虚拟 ...

  3. Spring----组合注解与元注解

    1.概述 1.1.Spring提供了大量的注解, 尤其是相同的注解用到各个类中,会相当的啰嗦: 1.2.元注解: 可以注解到别的注解上的注解: 组合注解: 被注解注解的注解称为 组合注解: 组合注解  ...

  4. linux mail 发送邮件

    1.mail -s "Title“ 123456@163.com   只有主题,没有内容 2. 有邮件内容 echo "text" | mail -s "Tit ...

  5. 【Python】用python -m http.server 8888搭建本地局域网

    python -m http.server 8888 由于工作中经常会用到局域网中同事之间互传文件,当文件太大时,可以采用局域网ftp之类的方式进行传输. 这里采用python的一个服务,可以快速的搭 ...

  6. Python基础教程(014)--缩进错误

    前言 学会编写格式 内容 print(“HelloWorld”) print(“HelloWorld”) ----缩进错误 print(“HelloWorld”) 错误信息: IndentationE ...

  7. 怎么更改win7登录界面

    方法/步骤   1 第一步,先打开注册表.快捷键是win+R.Win就是Windows图片那个键.打开会是这个. 2 在其中输入Regedit.就打开了传说中的注册表了.然后在注册表中选择.选择的顺序 ...

  8. html标签内部简单加js 一维数组求最大值 最小值两个值位置和数字金字塔图形

     html标签内部,简单加js <a href=""></a><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  9. Elasticsearch后台运行步骤

    Elasticsearch后台运行步骤 1.cmd 到elasticsearch 中bin目录下 2.elasticsearch-service 出现  3.安装服务 elasticsearch-se ...

  10. JS 获取json key和value

    var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...