Docker 和 Python 是兩個非常流行的工具,它們可以一起使用來簡化開發、部署和運行應用程序的過程。以下是一些關于 Docker 和 Python 的技巧:
使用官方 Python 鏡像:
FROM python:3.9-slim
多階段構建:
# 第一階段:安裝依賴
FROM python:3.9-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --prefix=/install --no-cache-dir -r requirements.txt
# 第二階段:復制安裝好的包和代碼
FROM python:3.9-slim
WORKDIR /app
COPY --from=builder /install /usr/local
COPY . .
CMD ["python", "app.py"]
使用環境變量:
ENV DATABASE_URL=postgresql://user:password@host/dbname
健康檢查:
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD curl -f http://localhost:5000/health || exit 1
使用 Docker Compose:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
虛擬環境:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
使用 pipenv
或 poetry
:
pipenv
和 poetry
是現代 Python 項目管理工具,它們可以自動管理虛擬環境和依賴。例如:pip install pipenv
pipenv install requests
代碼格式化:
black
或 autopep8
等工具來格式化代碼,保持一致的代碼風格。例如:pip install black
black .
日志管理:
logging
模塊或第三方庫如 loguru
來記錄和管理日志。例如:import logging
logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info('Application started')
性能優化:
cProfile
來找出代碼中的瓶頸,并進行優化。例如:python -m cProfile -o output.prof app.py
通過結合使用 Docker 和 Python 的這些技巧,你可以更高效地開發和部署應用程序。