Docker Compose 备忘
1。docker-compose.yml
services:air-web:build: .ports:- "1027:1027"volumes:- .:/codedepends_on:- air-redisair-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 Fakerapp = 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 强制关闭之前的项目