5分钟快速上手Docker容器化部署:从零到实践

发布于:2025-03-25 ⋅ 阅读:(129) ⋅ 点赞:(0)

一、为什么选择Docker?

2023年DevOps调查报告显示,83%的开发者正在使用容器化技术,其中Docker以76%的市场占有率稳居首位。容器化技术能实现:

  • 🚀 环境一致性:解决"在我机器上能跑"的经典问题

  • 📦 快速部署:秒级启动的轻量化容器

  • 🔗 资源隔离:更高效地利用系统资源

二、手把手教学(Linux环境)

1. 安装Docker引擎

# 一键安装脚本
curl -fsSL https://get.docker.com | bash -s docker

# 验证安装
docker --version
# 预期输出:Docker version 24.0.6, build ed223bc

2. 运行第一个容器

# 拉取官方Nginx镜像
docker pull nginx:alpine

# 启动容器并映射端口
docker run -d -p 8080:80 --name my_web nginx:alpine

访问 http://localhost:8080 即可看到欢迎页面!

3. 常用命令速查表

命令 作用 示例
docker ps 查看运行中的容器 docker ps -a 查看所有容器
docker exec 进入容器 docker exec -it my_web /bin/sh
docker logs 查看日志 docker logs -f my_web
docker compose up 启动多容器应用 搭配docker-compose.yml使用

三、实战案例:部署Python Flask应用

  1. 创建Dockerfile

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
  1. 构建镜像

docker build -t flask-app:v1 .
  1. 启动服务

docker run -d -p 5000:5000 flask-app:v1

四、避坑指南

  1. 存储问题:使用volume持久化数据

    docker volume create my_data
    docker run -v my_data:/data ...
  2. 时区设置:在Dockerfile中添加

    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
  3. 镜像瘦身:使用多阶段构建,选择alpine等轻量基础镜像

五、学习资源推荐