3. Dockerfile文件
“`
FROM python:3.9-slim
WORKDIR /usr/src/app
COPY app /usr/src/app
RUN bash run.sh
EXPOSE 5000
ENTRYPOINT [“flask”, “run”]
CMD [“-h”, “0.0.0.0”]
4. nginx/nginx.conf文件
server {
listen 80;
server_name 域名或公网IP;
location / { proxy_pass http://flask:5000; }
5. app/app.py文件
import socket
import os
import redis
from flask import Flask
pool = redis.ConnectionPool(host=os.environ.get(“REDIS_HOST”), port=6379, db=0, encoding=”utf-8″)
redis_ = redis.Redis(connection_pool=pool)
app = Flask(name)
@app.route(“/”)
def hello():
redis_.incr(“hits”)
return f”hello container world, I have been seen 【{redis_.get(‘hits’).decode(‘utf-8’)}】 times and myhostname is {socket.gethostname()} 哈哈哈\n”
6. app/requirements.txt文件
flask
redis
7. app/run.sh文件
8. 使用水平扩展的方式启动3个flask应用,同时docker engine有dns解析功能和负载均衡功能 启动命令: `sudo docker-compose up -d --scale flask=3` 打开浏览器访问nginx配置文件中的server_name试试吧,大功告成。
原文链接:https://www.dianjilingqu.com/349595.html
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END