(十)Docker Compose安装与创建Flask web应用

Docker Compose 是 Docker 官方编排(Orchestration)项目之一, 负责快速在集群中部署分布式应用。

Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。

安装



该项目由 Python 编写,实际上调用了 Docker 提供的 API 来实现。 通过pip安装。

$ python3 -m pip install docker-compose

安装成功后,可以查看docker-compose命令的用法。

$ docker-compose
Define and run multi-container applications with Docker.

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file (default: docker-compose.yml)
  -p, --project-name NAME     Specify an alternate project name (default: directory name)
  --verbose                   Show more output
  --no-ansi                   Do not print ANSI control characters
  -v, --version               Print version and exit
  -H, --host HOST             Daemon socket to connect to

  ……

创建 Flask 应用



创建使用Flask web应用,并将数值记入Redis。

1、创建 Web 应用

创建一个Flask web 应用,app.py 文件:

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host=‘redis‘, port=6379)

@app.route(‘/‘)
def hello():
    redis.incr(‘hits‘)
    return ‘Hello World! I have been seen %s times.‘ % redis.get(‘hits‘)

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

创建依赖文件 requirements.txt, 内容如下:

flask
redis
2、创建 Dockerfile

在同一目录下,创建 Dockerfile

FROM python:3.5
ADD . /code
WORKDIR /code
RUN python3 -m pip install -r requirements.txt
CMD python3 app.py

对上面的Dockerfile做一下简单说明:

  • 容器使用Python 3.5的镜像
  • 将当前目录下文件拷贝到容器内/code
  • 指定工作目录为/code
  • 安装python需要的库:flask, redis
  • 容器执行命令 python3 app.py
3、创建编排脚本

在同一目录下,创建 docker-compose.yml

version: ‘1‘
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
    depends_on:
     - redis
  redis:
    image: redis

对上面的编排脚本做一下简单说明:

  • 这个应用定义了两个服务:web, redis
  • web容器通过当前路径下的Dockerfile生成
  • web容器内的5000端口映射到主机的5000端口
  • 将当前目录挂载到web容器内/code
  • web容器依赖于redis容器
  • redis容器从Docker Hub获取镜像

所有文件都已经准备就绪。

$ ls
app.py  docker-compose.yml  Dockerfile  requirements.txt
4、启动应用

docker-compose执行编排脚本,分别制作和抓取web,redis镜像,启动容器。

$ sudo docker-compose up

……

redis_1  | 1:M 02 Feb 04:13:15.129 * Ready to accept connections
web_1    |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
web_1    |  * Restarting with stat
web_1    |  * Debugger is active!
web_1    |  * Debugger PIN: 170-376-971

整个过程会比较漫长。。。

5、访问应用

打开浏览器方位: http://0.0.0.0:5000/

效果如下:

原文地址:https://www.cnblogs.com/jason89/p/9034125.html

时间: 2024-10-09 18:53:16

(十)Docker Compose安装与创建Flask web应用的相关文章

Docker Compose安装

Docker Compose Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. 你可以也通过执行下面的命令,高速安装Docker Compose. curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-com

Docker Compose 安装 on centos7

1 在线安装 1.1 下载安装包 $ curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 1.2 设置可执行权限 $ chmod +x /usr/local/bin/docker-compose 1.3 查看版本 $ docker-compose --version 如果安装成

Docker Compose安装Registry后配置WebUI与客户端

场景 Docker 私服Registry简介与使用Docker-Compose安装Registry: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101567542 在上面安装Registry后配置其客户端以及Web UI. 注: 博客:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿获取编程相关电子书.教程推送与免费下载. 实现 配置客户端使其能识别Registr

009.Docker Compose基础使用

一 Docker Compose概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配置中创建并启动所有服务. Compose适用于所有环境:生产,登台,开发,测试以及CI工作流程. 使用Compose基本上是一个三步过程: 在Dockerfile中定义您的应用程序环境,以便可以在任何地方进行再生产. 定义构成应用程序的服务,docker-compose.yml 以便它们可以在隔离环

docker compose简介+使用+遇到的坑

git地址: https://github.com/docker/compose 安装+文档: https://docs.docker.com/compose/install/ 官方示例: https://docs.docker.com/compose/gettingstarted/ 示例做了什么: 1.主要看两个文件,一个dockerFile,一个docker.yml 2.dockerfile就是创建了一个python+flask的网站启动镜像 3.docker.yml做了两件事,启动一个we

通过 Docker Compose 组合 ASP NET Core 和 SQL Server

目录 Docker Compose 简介 安装 WebApi 项目 创建项目 编写Dockfile Web MVC 项目 创建项目 编写Dockfile 编写 docker-compose.yml文件 运行项目 源代码 参考 本文模拟一个比较完整的项目,包括前端(MVC), 后端(WebApi)和数据库(mssql-server-linux).通过Docker Compose 定义,组合并执行它们.涉及到 Docker Compose 安装,命令,docker-compose.yml文件编写,W

Docker Compose 项目打包部署

Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知使用 Docker Compose 可以轻松.高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具 Docker 和 Compose兼容性看下图:          

Docker 核心技术之Docker Compose

Docker Compose 简介 Docker Compose是什么? Docker Compose是一个能一次性定义和管理多个Docker容器的工具. 详细地说: Compose中定义和启动的每一个容器都相当于一个服务(service) Compose中能定义和启动多个服务,且它们之间通常具有协同关系 管理方式: 使用YAML文件来配置我们应用程序的服务. 使用单个命令(docker-compose up),就可以创建并启动配置文件中配置的所有服务.  Docker Compose 工作原理

docker compose项目构建

##docker compose安装1.安装epel源 yum install epel-releae -y 2.安装python-pip yum install -y python-pip 3.安装docker compose pip install docker-compose 4.查看docker compose docker-compose version docker compose项目构建 #新建项目文件夹并切换进入项目文件夹 [email protected]:~#mkdir xi