1。docker-compose.yml
services: air-web: build: . ports: - "1027:1027" volumes: - .:/code depends_on: - air-redis air-redis: image: "redis:alpine" 2. Dockerfile
FROM python:3.12-slim-bookworm #设置工作目录 WORKDIR /code #将当前目录内容拷贝到容器中的code目录 COPY . /code #安装依赖 RUN pip install --no-cache-dir -r requirements.txt #暴露端口 EXPOSE 1027 #运行应用 CMD ["python","app.py"]
3.requirements.txt
flask redis faker
4.app.py
from flask import Flask from redis import Redis from faker import Faker app = Flask(__name__) redis = Redis(host='redis', port=6379) @app.route('/') def home(): count = redis.incr('hits') faker = Faker(locale='zh_CN') return 'Hi {},我被点击了:{}次'.format(faker.name(), count) if (__name__ == '__main__'): app.run(host="0.0.0.0", port=1027, debug=True)
5.命令:
docker compose up 初次运行,修改Dockerfile后用:
docker compose up --build -d 强制后台及重新编译
docker compose ps 查看当前状态
docker compose down 关闭当前的项目,如果修改过services name后,用
docker compose down -p projname 强制关闭之前的项目