Docker Compose 通过一个yml的描述文件来管理一个复杂系统中的多个容器。在该描述文件中,所有的容器都是通过services来进行定义。Docker Compose使用docker-compose脚本来完成服务的启动、停止、管理和扩容等工作。因此Docker Compose非常适合使用多个容器来组成一个复杂应用系统的场景。
视频讲解如下:
使用Docker Compose管理容器 |
---|
【赵渝强老师】使用Docker Compose管理容器 |
这里将通过一个具体的示例来演示如何使用Docker Compose。下图便描述了本小节示例的架构。该示例系统中包含两个功能模块:Redis DB模块和Python Web模块。
其中:
- Redis DB模块将使用Redis的NoSQL数据库来保存用户在Web界面上刷新网页的次数。
- Python Web模块将用于Web界面的展示。
这样的一个系统结构利用前面已经掌握的Docker知识完全可以搭建起来,即:通过手动部署的方式来完成。但是当系统变得越来越复杂时,这样的手动管理方式是非常不利于系统的管理的。而使用Docker Compose便可以非常容易地解决这样的问题。下面将分别通过手动部署的方式和Docker Compose的方式来完成部署和管理,从而对比它们之前的区别和展示使用Docker Compose的优点。
一、使用手动方式构建应用程序
手动方式构建应用程序需要创建Dockerfile来描述应用系统。下面演示了具体的操作步骤。
(1)创建文件"app.py"使用Python来创建Web应用程序,文件内容如下:
01 from flask import Flask
02 from redis import Redis
03