Docker 部署 Python 服务

兜兜零元  金牌会员 | 2024-6-26 09:33:50 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 781|帖子 781|积分 2343

app.py

  1. from flask import Flask
  2. from redis import Redis, RedisError
  3. import os
  4. import socket
  5. # Connect to Redis
  6. redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
  7. app = Flask(__name__)
  8. @app.route("/")
  9. def hello():
  10.     try:
  11.         visits = redis.incr("counter")
  12.     except RedisError:
  13.         visits = "<i>cannot connect to Redis, counter disabled</i>"
  14.     html = "<h3>Hello {name}!</h3>" \
  15.            "<b>Hostname:</b> {hostname}<br/>" \
  16.            "<b>Visits:</b> {visits}"
  17.     return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
  18. if __name__ == "__main__":
  19.     app.run(host='0.0.0.0', port=80)
复制代码
Dockerfile:

  1. # 使用Python官方镜像作为镜像的基础
  2. FROM python:2.7-slim
  3. # 设置工作空间为/app
  4. WORKDIR /app
  5. # 把当前目录下的文件拷贝到 容器里的/app里
  6. ADD . /app
  7. # 安装requirements.txt中指定的依赖
  8. RUN pip install -r requirements.txt
  9. # 开放80端口
  10. EXPOSE 80
  11. # 设置 NAME 这个环境变量
  12. ENV NAME World
  13. # 当容器启动时,运行app.py
  14. CMD ["python", "app.py"]
复制代码

docker build -t flaskhello .
docker images
docker run -p 4000:80 flaskhello
背景运行,获得一个容器的ID
docker run -d -p 4000:80 flaskhello
看到缩短的容器ID:
docker ps
网页访问
http://localhost:4000
分享你的镜像
账号注册
test2018
aaaaaa
//登陆
docker login
给镜像打标签
docker tag flaskhello test2018/flaskapp:demo
推送到远端
docker push test2018/flaskapp:demo
随时随地都可以实行
docker run -p 4000:80 test2018/flaskapp:demo


创作不易,小小的支持一下吧!



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表