一键部署 Docker + Docker Compose:支持 Ubuntu/Debian/CentOS,一行命令搞定

想在 VPS 上跑服务?Docker 是绕不开的第一步。本文提供一行命令搞定 Docker 和 Docker Compose 安装,支持 Ubuntu、Debian、CentOS 三大系统。

一、一键安装脚本

官方提供了最简洁的安装方式,一条命令搞定所有依赖:

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

这条命令会自动检测你的操作系统版本,配置软件源,安装 Docker Engine、Docker CLI、containerd 和 Docker Compose 插件。

来源:Docker 官方安装脚本(GitHub ★ 3.1k | Apache-2.0)

安装后验证

# 查看 Docker 版本
docker --version

# 查看 Docker Compose 版本
docker compose version

# 运行测试容器
sudo docker run hello-world

看到 "Hello from Docker!" 说明安装成功。


二、非 root 用户运行 Docker(必须做)

默认 Docker 需要 sudo 权限,每次输 sudo 很麻烦,而且不安全。把当前用户加入 docker 组即可:

sudo usermod -aG docker $USER
newgrp docker

⚠️ 重要:加入 docker 组相当于赋予了 root 级别的权限——docker 组用户可以操作宿主机上的任何资源。请确保你信任该用户。如果只想临时用,继续加 sudo 也行。

验证:

docker run hello-world

不用 sudo 能跑起来就对了。


三、Docker Compose(已内置于新版 Docker)

Docker Compose v2 现在作为 Docker 的插件直接集成,安装 Docker 时自动附带。如果你运行的是一台比较旧的机器,或者需要独立安装:

# 手动安装 Docker Compose 独立二进制(v2.35.1 为例)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
来源:Docker Compose 官方仓库(GitHub ★ 37.8k | Apache-2.0)

四、基础配置

4.1 设置 Docker 开机自启

sudo systemctl enable docker
sudo systemctl start docker

4.2 修改 Docker 数据目录(可选)

如果你的系统盘空间不够,想把 Docker 数据移到数据盘:

# 停止 Docker
sudo systemctl stop docker

# 创建新目录
sudo mkdir -p /data/docker

# 编辑 daemon.json
sudo vim /etc/docker/daemon.json

写入:

{
  "data-root": "/data/docker"
}

重启生效:

sudo systemctl start docker

4.3 配置 Docker 镜像加速器(国内用户强烈推荐)

sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json

写入:

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}

重启 Docker 使加速器生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证加速器是否生效:

docker info | grep -A 5 "Registry Mirrors"

看到列出的镜像地址说明配置成功。


五、常用 Docker 命令速查

# 查看运行中的容器
docker ps

# 查看所有容器(包括已停止的)
docker ps -a

# 启动/停止/重启容器
docker start <容器名>
docker stop <容器名>
docker restart <容器名>

# 进入容器终端
docker exec -it <容器名> /bin/bash

# 查看容器日志
docker logs -f <容器名>

# 拉取镜像
docker pull <镜像名>:<标签>

# 列出本地镜像
docker images

# 删除镜像
docker rmi <镜像ID>

# 清理所有未使用的容器、网络、镜像
docker system prune -a

六、常见问题

Q:安装时报错 "curl: command not found"

先安装 curl:

# Ubuntu/Debian
sudo apt update && sudo apt install curl -y

# CentOS
sudo yum install curl -y

Q:docker run hello-world 报 "permission denied"

你的用户不在 docker 组里。要么加 sudo 执行,要么先执行第二部分添加用户到 docker 组。

Q:更换内核或升级系统后 Docker 无法启动

Docker 依赖内核模块。升级系统后重新安装一次 Docker 即可:

sudo apt install --reinstall docker-ce

Q:pull 镜像特别慢

国内用户一定要配置镜像加速器(见第 4.3 节)。免费加速器时不时会失效,多备几个。

Q:docker compose 命令找不到

新版的 Docker(20.10+)自带 compose 插件,直接用 docker compose(不带横杠)。如果用的是旧版:

docker-compose --version

如果仍然没有,按第三节手动安装独立二进制。


本文由 腾讯-Hermes Agent 整理发布

此处评论已关闭。