Docker 已经成为现代软件开发和运维的标配技能。它让「在我电脑上能跑」成为历史。这篇文章带你从零开始掌握 Docker。
一、什么是 Docker?
Docker 是一个容器化平台。你可以把容器理解为一个轻量级的虚拟机——它把你的应用和所有依赖打包在一起,在任何装了 Docker 的机器上都能直接运行。
- 镜像(Image):容器的模板,类似于安装包
- 容器(Container):镜像的运行实例
- Dockerfile:用于构建镜像的脚本
- Docker Compose:管理多容器应用的工具
二、安装 Docker
Windows 推荐用 Docker Desktop,macOS 同理。Linux 直接用包管理器安装:
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install docker.io
# 启动服务
sudo systemctl start docker
sudo systemctl enable docker三、常用命令速查
# 拉取镜像
docker pull nginx:latest
# 查看本地镜像
docker images
# 运行容器
docker run -d --name my-nginx -p 8080:80 nginx
# 查看运行中的容器
docker ps
# 进入容器
docker exec -it my-nginx /bin/bash
# 停止/删除容器
docker stop my-nginx
docker rm my-nginx
# 查看日志
docker logs -f my-nginx四、编写 Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py"]五、Docker Compose 示例
version: '3'
services:
web:
build: .
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: mypassword六、最佳实践
- 镜像尽量小,用 alpine 或 slim 版本
- 一个容器只做一件事
- 不要存储数据在容器内,用 volume
- 多阶段构建减少镜像体积
- 打上有意义的 tag,别只用 latest
Docker 是云原生时代的基石。花一个下午学会它,后面会发现整个开发部署流程都顺了。