Docker 容器技术入门
黄玮
2026-01
| 特性 | 虚拟机 (VM) | 容器 (Container) |
|---|---|---|
| 隔离级别 | 硬件虚拟化 (Guest OS) | 操作系统级虚拟化 (共享 Kernel) |
| 启动速度 | 分钟级 | 秒级 |
| 占用空间 | GB 级 | MB 级 |
| 性能损耗 | 较高 | 接近原生 |
# 拉取镜像
docker pull nginx:latest
# 运行容器
# -d: 后台运行
# -p: 端口映射 (主机端口:容器端口)
# --name: 指定名称
docker run -d -p 8080:80 --name my-nginx nginx:latest
# 查看运行中的容器
docker ps
# 停止与删除
docker stop my-nginx
docker rm my-nginx
# 查看容器日志
docker logs -f my-nginx
# 进入容器内部 Shell
docker exec -it my-nginx sh
# 查看容器详细信息
docker inspect my-nginx
Dockerfile 是构建镜像的蓝图。
# 1. 基础镜像
FROM python:3.9-slim
# 2. 设置工作目录
WORKDIR /app
# 3. 复制依赖并安装
COPY requirements.txt .
RUN pip install -r requirements.txt
# 4. 复制代码
COPY . .
# 5. 启动命令
CMD ["python", "app.py"]
构建命令: docker build -t my-app:v1 .
容器销毁后,内部数据会丢失。使用 Volume 持久化数据。
# 挂载主机目录 (Bind Mount)
docker run -v /home/user/data:/data my-app
# 使用 Docker 管理的 Volume
docker volume create my-vol
docker run -v my-vol:/data my-app
# 创建自定义网络 (推荐,支持容器名 DNS 解析)
docker network create my-net
docker run --network my-net my-app