VPS安装Docker教程:官方脚本一条命令,附防火墙大坑

工具官网: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 查询),版本迭代后以官方文档为准。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像-主机测评网
欢迎您留下宝贵的见解!
提交
头像-主机测评网

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容