如何在Docker容器中运行一个Python应用程序?

在Docker容器中运行一个Python应用程序,可以通过以下步骤进行:

  1. 编写Python应用程序:
python
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)
  1. 构建Dockerfile:
Dockerfile
FROM python:3.7-alpine
WORKDIR /app
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN pip install Flask
COPY . .
CMD ["flask", "run"]  

此Dockerfile构建基于python:3.7-alpine的镜像,设置环境变量指定app.py为Flask应用入口并运行,并将当前目录中的代码复制到镜像。

  1. 构建镜像:
docker build -t flask-app . 
  1. 运行容器:
docker run -p 5000:5000 -d flask-app

此命令在后台运行容器,并映射5000端口。

  1. 访问应用:
    打开http://localhost:5000可以访问Flask应用。
  2. 在Docker Compose中定义应用:
yaml
version: '3' 
services:
  flask-app:
    build: .
    image: flask-app 
    ports:
      - "5000:5000"
docker-compose up

可以一键启动应用。