1. Devops①
  2. Devops②
  3. Devops③
  4. Devops④
  5. Devops⑤
  6. Devops⑥
  7. Devops⑦
  8. Devops⑧
  9. Devops⑨

第 2 节 · 容器化与 Docker 入门

📦 什么是容器化(Containerization)?

容器化是一种将应用程序与它的运行时环境(依赖、配置、库)打包在一起运行的方式。

就像“打包快餐”:不管你在哪儿吃,都一样的味道 🍱

容器技术让“开发环境”和“生产环境”一致,解决了:

“我电脑上能跑,线上挂了” 这类经典问题。


🐳 Docker 是什么?

Docker 是最流行的容器化平台,它能让你:

  • 构建:通过 Dockerfile 构建镜像
  • 打包:将应用与依赖一起封装成镜像
  • 运行:用镜像快速启动多个隔离的容器
  • 分发:上传镜像到 Docker Hub 分享使用

🚀 Docker 工作流程


🧱 Dockerfile 示例

# 使用官方 Python 镜像作为基础
FROM python:3.10

# 设置工作目录
WORKDIR /app

# 复制代码到容器
COPY . /app

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

# 启动 FastAPI 服务(使用 uvicorn)
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

🧪 常见命令速查表

命令 功能
docker build -t myapp . 从 Dockerfile 构建镜像
docker images 查看所有镜像
docker run -d -p 8000:8000 myapp 后台运行容器,映射端口
docker ps 查看正在运行的容器
docker exec -it 容器ID bash 进入容器内部
docker logs 容器ID 查看日志

📌 镜像(Image)vs 容器(Container)

项目 镜像(Image) 容器(Container)
是什么 模板 实例(运行时)
类比 类的定义 类的对象
是否可变 只读 可读写(运行中)

✨ 为什么 DevOps 离不开 Docker?

  • ✅ 保证环境一致性(dev/test/prod 都一样)
  • ✅ 快速构建 + 快速交付 + 快速回滚
  • ✅ 非常适合 CI/CD 自动化流程
  • ✅ 与 Kubernetes 等编排工具完美配合