工具官网:Docker 官方安装文档(docs.docker.com)|Docker 官网(docker.com)
VPS 玩到进阶阶段,绕不开 Docker 这个词:看教程动不动就是「一条命令跑起来」,别人搬家三分钟,你重装环境三小时。这篇主机评测网按 Docker 官方文档的口径,把安装、常用命令和一个官方明确警告过的防火墙大坑讲清楚,看完就能在自己的机器上跑起第一个容器。
Docker 解决什么问题
一句话:把应用连环境一起打包。传统装软件要在系统里配依赖、改配置,换个环境就重来;Docker 把应用和依赖装进「容器」,容器在哪家机器上跑起来都一样。对 VPS 用户最实际的三个好处:同一台机器上跑多个互不干扰的服务、一条命令部署别人打包好的项目、换机器时把数据卷拷走就能整体迁移——迁移思路和我那篇备份容灾教程是一脉相承的。
安装:两种方式,按场景选
以下命令整理自 Docker 官方安装文档(2026-09-21 查询),适用于 Debian 11-13 / Ubuntu 等主流系统,x86_64 和 arm64 都支持——Oracle 那台 ARM 免费机也能用。
方式一:官方便捷脚本(快,官方注明适用于测试和开发环境):
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
拿不准它会做什么,可以先加 --dry-run 参数预览执行内容再正式安装。
方式二:apt 官方仓库(官方推荐,升级可控):
# 先卸载发行源自带的冲突包 sudo apt remove docker.io docker-compose containerd runc # 添加 Docker 官方 GPG key 与 apt 源后: sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
装完两步验证:sudo systemctl status docker 看服务状态;sudo docker run hello-world 跑官方测试镜像,看到欢迎信息就说明整套链路通了。不想每次敲 sudo 的话,把常用账号加进 docker 组:sudo usermod -aG docker 你的用户名(重新登录生效;注意进 docker 组等于拿到 root 级权限,只给自己信得过的账号加)。
三个概念,一分钟搞懂
| 概念 | 是什么 | 类比 |
|---|---|---|
| 镜像 Image | 只读的打包模板 | 装系统用的 ISO |
| 容器 Container | 镜像跑起来的实例 | 装好的那台「机」 |
| 卷 Volume | 容器外的持久化数据 | 单独的数据盘 |
关键认知:容器删了就没了,数据放卷里才是你的。跑数据库类服务务必用 -v 把数据目录挂出来,不然容器一删数据全没。
常用命令速查
| 命令 | 作用 |
|---|---|
| docker run -d -p 8080:80 –name web nginx | 后台跑一个 nginx,宿主机 8080 映射容器 80 |
| docker ps / docker ps -a | 看运行中 / 全部容器 |
| docker images | 列出本地镜像 |
| docker logs -f web | 追看容器日志 |
| docker exec -it web bash | 进容器里开 shell |
| docker stop / start / restart web | 停 / 启 / 重启容器 |
| docker rm web / docker rmi nginx | 删容器 / 删镜像 |
官方警告的大坑:容器端口绕过防火墙
Docker 文档里有条措辞很重的 Warning:用 -p 映射的端口,Docker 会直接写 iptables 转发规则,绕过 ufw/firewalld 的防火墙策略。也就是说你以为 ufw 只放行了 22/80/443,实际上 docker run -p 8080:80 的那个 8080 已经裸奔在公网了——安全上线的思路看我这篇VPS 安全加固,配 Docker 时还要多想一层:映射端口前问自己「这个端口该不该对全网开放」,数据库类服务映射到 127.0.0.1(写法 -p 127.0.0.1:3306:3306)是更稳的习惯。
和宝塔、AMH 冲突吗
可以共存,但要规划端口:面板占 8888(宝塔/AMH 默认),LNMP 环境 80/443/3306,Docker 应用映射 8080、8443 这类高位段即可。想给 Docker 配个图形管理界面,装个 Portainer 容器就行,浏览器里点点就能管容器,适合不想背命令的阶段。宝塔建站和 Docker 化部署并不冲突:面板管数据库和网站,Docker 跑杂七杂八的自托管服务,各管各的。
最后提一句国内网络现实:Docker Hub 直连拉镜像经常龟速,常规做法是给 Docker 配置 registry-mirrors 镜像加速——加速地址时效性强,建议用你云服务商提供的加速地址,配置方法以 Docker 官方文档 daemon.json 一节为准。本文命令与警告均整理自 docs.docker.com 官方安装文档(2026-09-21 查询),版本迭代后以官方文档为准。











-300x200.jpg)


暂无评论内容