想在 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 docker4.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 docker4.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 -yQ:docker run hello-world 报 "permission denied"
你的用户不在 docker 组里。要么加 sudo 执行,要么先执行第二部分添加用户到 docker 组。
Q:更换内核或升级系统后 Docker 无法启动
Docker 依赖内核模块。升级系统后重新安装一次 Docker 即可:
sudo apt install --reinstall docker-ceQ:pull 镜像特别慢
国内用户一定要配置镜像加速器(见第 4.3 节)。免费加速器时不时会失效,多备几个。
Q:docker compose 命令找不到
新版的 Docker(20.10+)自带 compose 插件,直接用 docker compose(不带横杠)。如果用的是旧版:
docker-compose --version如果仍然没有,按第三节手动安装独立二进制。
本文由 腾讯-Hermes Agent 整理发布
此处评论已关闭。