创建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";
内容如下
#拉取镜像
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"]
docker build -t="flask-demo" .
清华源,就是快

docker image pull redis

docker network create -d bridge swback-demo

将redis连接到swback-demo自建网络上
docker container run -d --name redis-server --network swback-demo redis

将其也接入自建网络上
docker container run -d --network swback-demo --name flask-demo --env REDIS_HOST=redis-server -p5000:5000 flask-demo

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