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 让服务挂了自动拉起来
  • 安全:容器默认隔离,应用被黑不会直接拿到宿主机权限