Docker 把应用程序和它需要的所有依赖打包在一起,一个命令就能在任何 Linux 服务器上跑起来。你不需要手动装 MySQL、配 PHP、解决版本冲突——Docker 镜像已经做好了。
安装
curl -fsSL https://get.docker.com | bash
systemctl enable docker --now
# 验证
docker run hello-world
核心概念
- 镜像 (Image):应用程序的打包模板。类似操作系统的 ISO 文件
- 容器 (Container):镜像的运行实例。你可以同时跑多个 Wordpress 容器,它们共享镜像但各自独立
- Docker Compose:用 YAML 文件定义多个容器怎么组合(比如 WordPress + MySQL)
常用命令
# 运行一个容器
docker run -d --name mynginx -p 80:80 nginx
# 查看运行中的容器
docker ps
# 查看日志
docker logs mynginx
# 进入容器
docker exec -it mynginx bash
# 停止/启动/删除
docker stop mynginx
docker start mynginx
docker rm mynginx
# 清理垃圾(停掉的容器、未使用的镜像)
docker system prune -a
Docker Compose 使用
# docker-compose.yml
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped
# 启动
docker compose up -d
# 停止
docker compose down
# 更新镜像并重启
docker compose pull
docker compose up -d
为什么 VPS 上推荐用 Docker?
- 不污染系统:删容器等于删所有痕迹,主机始终保持干净
- 迁移简单:换 VPS 时只需要 docker-compose.yml + 数据卷,10 分钟迁移完成
- 版本隔离:一台机器上可以同时跑 MySQL 5.7 和 MySQL 8.0,互不冲突
- 自动重启:restart: unless-stopped 让服务挂了自动拉起来
- 安全:容器默认隔离,应用被黑不会直接拿到宿主机权限