Docker从0安装:Ubuntu/Debian官方脚本一键部署

概述

很多人装Docker翻来覆去查文档:加源、装key、apt-get update、docker-ce装上。每次都要复制粘贴五六条命令。

Docker官方提供了一个install.sh脚本,把整套流程打包成一行命令。这篇教程带你用这个脚本快速装好Docker,顺便把非root用户权限配好。

准备工作

  • 一台运行Ubuntu 20.04+或Debian 11+的VPS
  • root权限或sudo权限
  • 能正常访问外网的网络环境
  • 磁盘剩余空间2GB以上

步骤

第一步:卸载旧版本(可选)

如果你的机器上之前手动装过Docker,先清理一下:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove -y $pkg; done

这一步不是必须的,但能避免新旧版本冲突。

第二步:运行官方安装脚本

这是核心步骤,一行命令搞定:

curl -fsSL https://get.docker.com | sudo sh

脚本会自动做这几件事:检测系统架构、添加Docker官方APT源、安装最新稳定版Docker Engine和Containerd、启动Docker服务、设置开机自启。

整个过程大概1-2分钟。看到"Congratulations! Docker is installed"就说明成功了。

第三步:验证安装

docker --version
sudo systemctl status docker

输出类似这样:

Docker version 27.4.1, build b98e1c9
● docker.service - Docker Application Container Engine
     Active: active (running) since Thu 2026-07-16 10:30:00 CST

再跑个hello-world镜像确认一切正常:

sudo docker run hello-world

看到"Hello from Docker!“就完全没问题了。

第四步:让非root用户也能用Docker

默认情况下Docker命令需要sudo前缀。加到docker组后就不用每次输密码了:

sudo usermod -aG docker $USER
newgrp docker

验证一下:

docker ps

能列出容器列表就说明权限配好了。如果提示"permission denied”,退出SSH重新登录一次就行。

第五步:配置国内镜像加速(中国大陆用户)

拉取Docker Hub镜像速度太慢?加个镜像加速器:

sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://do.nark.eu.org"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

换源之后重启Docker服务生效。拉取镜像会快很多。

第六步:设置Docker开机自启

脚本安装完默认就是开机自启的。确认一下:

sudo systemctl enable docker
sudo systemctl is-enabled docker

输出应该是"enabled"。

验证

全部做完后,跑这几个检查:

# 1. 版本信息
docker --version

# 2. 服务状态
sudo systemctl is-active docker

# 3. 非root用户测试(不用sudo)
docker info | head -5

# 4. 镜像加速器是否生效
docker info | grep -A5 "Registry Mirrors"

# 5. 开机自启状态
systemctl is-enabled docker

五个都通过,Docker就彻底搞定了。

常见问题

安装脚本报错"curl not found"?

先装curl:sudo apt install -y curl,然后再跑安装命令。

提示"GPG key error"?

这是密钥验证失败。通常是网络问题导致密钥下载不完整。重试一次就好:

curl -fsSL https://get.docker.com | sudo sh

Docker服务起不来?

查看日志找原因:

sudo journalctl -u docker.service --no-pager -n 50

常见原因是端口冲突或内核不支持。确保2375和2376端口没被占用。

怎么升级Docker?

直接跑一遍安装脚本就行,它会升级到最新版:

curl -fsSL https://get.docker.com | sudo sh

或者手动更新:

sudo apt update
sudo apt upgrade docker-ce

装完后发现没有docker-compose命令?

新版Docker把compose做成了插件。安装它:

sudo apt install -y docker-compose-plugin

验证:

docker compose version

我想用Podman代替Docker怎么办?

Podman是Docker的替代品,不需要守护进程。这篇教程只覆盖Docker。如果需要Podman安装指南,可以关注后续文章。


Docker安装其实不难,难的是各种零散的步骤拼在一起容易出错。用官方脚本一键搞定,省下的时间足够你跑几个镜像试试水。

你的服务器装好Docker了吗?有没有踩到什么奇怪的坑?

这篇文章对你有帮助吗?