1. 首页 > 技术教程 > 正文

Docker 快速安装:Docker 与 Docker Compose 完整版教程

Docker 快速安装:Docker 与 Docker Compose 完整版教程

还在手动编译安装 Docker 环境?别折腾了。这篇 Linux 教程直接给你一条龙命令,从零开始,5 分钟内装好 Docker 和 Docker Compose,适用于 CentOS 7/8、Ubuntu 20.04/22.04、Debian 11/12。老规矩,照着敲就行,报错看排障区。

Docker 快速安装:Docker 与 Docker Compose 完整版教程的图片

一、卸载旧版本与系统环境准备

很多 VPS 或云服务器默认带了旧版 Docker(叫 `docker.io` 或 `docker-engine`),不卸干净会导致装完报冲突。这一步别跳过,尤其是接手别人跑过的机器。

1.1 卸载旧版 Docker 组件

sudo apt-get remove docker docker-engine docker.io containerd runc # Debian/Ubuntu 系卸载旧包
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine # CentOS 系

1.2 安装依赖包

sudo apt-get update && sudo apt-get install -y ca-certificates curl gnupg lsb-release # 更新源并装依赖

或者 CentOS 下:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

> 老鸟叮嘱:千万别在没更新源的情况下直接装 Docker,否则你可能会遇到 404 或 GPG 错误。先 `apt update` 或 `yum makecache` 再动手。

二、Docker 快速安装(官方源 + 国内镜像加速)

官方源在国外,部分 VPS 下载慢得像蜗牛。这里给你两套方案:官方稳定版和国内镜像加速版。选一个执行。

2.1 添加 Docker 官方仓库并安装(推荐国内 VPS 用镜像)

Ubuntu/Debian 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加稳定版仓库(阿里云镜像,速度更快)

echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.2 安装 Docker Engine

sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io

如果是 CentOS,执行:

sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

2.3 启动 Docker 并设置开机自启

sudo systemctl start docker # 启动 Docker 守护进程
sudo systemctl enable docker # 设置开机自启
sudo docker version # 验证安装是否成功,输出版本号则 OK

万一报 `Cannot connect to the Docker daemon`,先检查 `systemctl status docker`,多半是没启动或者权限不对。执行 `sudo usermod -aG docker $USER` 后退出重新登录即可。

三、Docker Compose 独立安装(二进制版)

Docker Compose 现在官方推荐用插件形式(`docker compose`,带横杠),但很多老项目还在用 `docker-compose`(带横杠)。这里装的是独立二进制版,兼容性最好。

3.1 下载最新版 Docker Compose

sudo curl -L “https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose

版本号可以替换成最新,去 GitHub Releases 看

3.2 赋予执行权限并验证

sudo chmod +x /usr/local/bin/docker-compose
docker-compose –version # 输出类似 docker-compose version 2.24.0 即成功

> 踩坑区:如果下载慢到崩溃,可以把 GitHub 链接换成 `https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)`,走代理加速。

四、Docker 镜像加速配置(国内 VPS 必做)

不配镜像加速,拉 `nginx`、`mysql` 这些镜像时能卡到你怀疑人生。修改 Docker 配置就行。

4.1 创建或编辑 daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn”, “https://hub-mirror.c.163.com”]
}
EOF

4.2 重启 Docker 生效

sudo systemctl daemon-reload
sudo systemctl restart docker
docker info | grep -A 1 “Registry Mirrors” # 确认镜像源已加载

五、排障与老鸟叮嘱

5.1 常见报错处理

• **报错:`permission denied while trying to connect to the Docker daemon socket`**

当前用户不在 docker 组里。执行 `sudo usermod -aG docker $USER`,然后退出 SSH 重新登录。

• **报错:`Error response from daemon: Get “https://registry-1.docker.io/v2/”`**

网络问题或镜像加速没配好。检查 `/etc/docker/daemon.json` 配置是否正确,然后重启 Docker。

• **报错:`docker-compose: command not found`**

二进制没放到 PATH 里。检查 `/usr/local/bin/docker-compose` 是否存在,并确认 `chmod +x` 已执行。

5.2 老鸟叮嘱:别在 root 下跑 docker-compose

虽然 root 可以直接跑,但新手容易把容器数据目录权限搞乱,导致后续维护时普通用户无法操作。建议创建一个专用用户(比如 `deploy`),加到 `docker` 组,然后用这个用户跑 Docker Compose 项目。命令如下:

sudo useradd -m deploy
sudo usermod -aG docker deploy
su – deploy
docker-compose up -d

FAQ

Q:Linux SSH 连不上怎么办?

A:先检查服务器是否开机、防火墙是否放行 22 端口,以及 SSH 服务是否运行。执行 `systemctl status sshd` 查看状态,如果没启动用 `systemctl start sshd` 启动。

Q:VPS 防火墙端口放行后还是访问不了是什么原因?

A:检查云服务商安全组是否也放行了端口(很多 VPS 有双重防火墙)。另外确认 Docker 容器是否绑定到 `0.0.0.0` 而不是 `127.0.0.1`,运行 `docker ps` 看端口映射。

Q:Linux 小白可以直接用 root 账号操作吗?

A:不建议。日常操作建议用普通用户加 `sudo`,避免误删系统文件。只有安装软件、改系统配置时才切到 root 或使用 `sudo`。

Q:BBR 开启后为什么速度没有明显提升?

A:BBR 主要优化长肥网络(高延迟、高带宽),如果你的 VPS 延迟低或带宽本身就小,效果不明显。另外检查是否已成功加载:`sysctl net.ipv4.tcp_congestion_control` 输出应为 `bbr`。

Q:Docker 装完后如何测试是否正常?

A:运行 `docker run hello-world`,如果输出 `Hello from Docker!` 说明一切正常。如果报错,检查 Docker 服务是否启动和镜像源配置。

Q:Docker Compose 和 Docker 是什么关系?

A:Docker Compose 是 Docker 的编排工具,用于定义和运行多容器应用。Docker 负责单个容器,Compose 负责把它们组合起来。装 Docker 后必须单独装 Compose。

转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9477.html 商家投稿邮箱:zhujixuanblog@qq.com