ToB企服应用市场:ToB评测及商务社交产业平台

标题: Docker 部署 Python 服务 [打印本页]

作者: 兜兜零元    时间: 2024-6-26 09:33
标题: Docker 部署 Python 服务
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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4