【Docker】Python Flask + Redis 练习

一、构建flask镜像

1.准备文件

创建app.py,内容如下

from flask import Flask
from redis import Redis
app = Flask(__name__)
redis = Redis(host=os.environ.get('REDIS_HOST','127.0.0.1'),port=6379)

@app.route('/')
def hello():
        redis.incr('hits')
        return f"Hello Container World! I have been seen {redis.get('hits').decode('utf-8')} times and my hostname is {socket.gethostname()}.\n";

2.创建Dockerfile

内容如下

#拉取镜像
FROM python:3.9.5-slim
#执行命令 安装python脚本需要的包,并创建用户及用户组等 这里采用清华源下载
RUN pip3 install flask redis -i https://pypi.tuna.tsinghua.edu.cn/simple && \
        groupadd -r flask && useradd -r -g flask flask && \
        mkdir /src && \
        chown -R flask:flask /src

USER flask

COPY app.py /src/app.py
#工作目录
WORKDIR /src

ENV FLASK_APP=app.py REDIS_HOST=redis
#端口
EXPOSE 5000
#执行命令
CMD ["flask","run","-h","0.0.0.0"]

3.打包镜像

docker build -t="flask-demo" .

清华源,就是快

image-20231013140427791

二、拉取redis镜像

1.拉取redis镜像

docker image pull redis

image-20231013141450452

三、自建网络

1.创建一个docker bridge

docker network create -d bridge swback-demo

image-20231013140030182

四、启动容器

1.启动redis容器

将redis连接到swback-demo自建网络上

docker container run -d --name redis-server --network swback-demo redis

image-20231013140559705

2.启动flask容器

将其也接入自建网络上

docker container run -d --network swback-demo --name flask-demo --env REDIS_HOST=redis-server -p5000:5000 flask-demo

image-20231013140853627

五、测试

页面每次请求,都会**+1**

image-20231013140958996

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwBack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值