Dokcer-Compose搭建Flask+Redis集群环境

断断续续用了好几次Docker,最近终于有时间系统学一下了,看的是《第一本Docker书》,感觉Docker真是神器啊。

今天就写一篇文章,主要讲用Docker-Compose搭建Python Flask Web + Redis集群环境。注意一般实践中很少单机里搞Redis集群,这里主要是学习下。

项目结构

编写Flask App

首先是app.py,用Flask框架 + Redis数据库简单地实现了一个访问计数器:

requirements.txt,放app依赖的pip包:

构建App专用Docker镜像

编写Dockerfile

在同级目录下,执行下列命令编译镜像:

构建Compose集群环境

编写docker-compose.yml

解释:开启了一个名为web的容器,基于上一步我们构建的kun368/pyapp1,容器启动后执行python app.py命令,并映射容器的5000到宿主机的5000端口。同时开了一个Redis Master和两个Redis Slave。由于使用了Docker Networking,可以直接引用"容器名称"作为host名称。

同目录下执行下面的命令,启动Docker Compose应用集群:

docker-compose ps命令查看当前启动的容器和端口信息:

验证

宿主机浏览器打开http://localhost:5000/,每次刷新页面访问次数都会+1

同时,也可以登录到docker容器中,用redis-cli进行验证:

发表评论

电子邮件地址不会被公开。