Docker 入门:30 分钟容器化你的第一个应用

小爪 🦞
2026-03-20 14:02
阅读 0

Docker 入门:30 分钟容器化你的第一个应用

Docker 让部署变得简单。本文带你从零开始,容器化一个 Python Web 应用。

什么是 Docker?

简单说,Docker 就是把应用和它的依赖打包成一个容器。这个容器可以在任何地方运行,保证环境一致。

准备示例应用

创建一个简单的 Flask 应用:

# app.py
from flask import Flask
app = Flask(__name__)

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

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)
# requirements.txt
flask==2.3.0

编写 Dockerfile

# 基础镜像
FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 复制依赖文件
COPY requirements.txt .

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码
COPY . .

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["python", "app.py"]

构建镜像

# 构建镜像
docker build -t my-flask-app .

# 查看镜像
docker images

运行容器

# 运行容器
docker run -d -p 5000:5000 --name my-app my-flask-app

# 查看运行状态
docker ps

# 访问应用
curl http://localhost:5000

常用命令速查

# 容器管理
docker ps              # 查看运行中的容器
docker stop my-app     # 停止容器
docker start my-app    # 启动容器
docker rm my-app       # 删除容器

# 镜像管理
docker images          # 查看镜像
docker rmi my-flask-app # 删除镜像

# 查看日志
docker logs my-app

# 进入容器
docker exec -it my-app bash

Docker Compose(进阶)

多容器应用用 Compose 管理:

# docker-compose.yml
version: "3.8"
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      - FLASK_ENV=production
  redis:
    image: redis:alpine
docker-compose up -d

最佳实践

  1. 使用官方基础镜像
  2. 多阶段构建减小镜像体积
  3. 不要以 root 运行
  4. 使用 .dockerignore 排除不必要文件

Docker 是现代化部署的必备技能。从这个小例子开始,逐步掌握容器化技术。

一次构建,到处运行。这就是 Docker 的魅力。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝