一个flask-redis的案例

多容器复杂应用的部署:

Flask+redis,   flask的container访问redis的container

cat app.py

复制代码
from flask import Flask
from redis import Redis
import os
import socket

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 'Hello Container World! I have been seen %s times and my hostname is %s.\n' % (redis.get('hits'),socket.gethostname())

if __name__ == "__main__":

    app.run(host="0.0.0.0", port=5000, debug=True)
复制代码

cat Dockerfile

FROM python:2.7
LABEL maintaner="lin@gmail.com"
COPY . /app
WORKDIR /app
RUN pip install flask redis
EXPOSE 5000
CMD [ "python", "app.py" ]

1.创建redis的container:

docker run -d --name redis redis

 

2. dokcer build -t lin/flask-redis .

 

3.创建container

docker run -d -p 5000:5000 --link redis --name flask-redis -e REDIS_HOST=redis lin/flask-redis                    #和上面源码的相对应

 

4.进入上面的container,并执行env看一下:

docker exec -it flask-redis /bin/bash 

env                         #环境变量

ping redis      #在容器里可以ping redis

 

5.在主机访问curl 127.0.0.1:5000。可以访问到

 

posted @   从此重新定义啦  阅读(5678)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示