一、一键安装命令
bash
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun二、命令解读
这条命令看似简单,其实是一个典型的**“管道流”**操作,把三个高难度的动作合成了一行代码。
我们可以把它拆解为:“下载脚本” + “交给系统执行” + “指定阿里云镜像”。
1. curl -fsSL https://get.docker.com
这一部分负责**“远程获取安装包”**。
curl:Linux 里的下载工具。-f(fail):如果服务器报错(如 404),直接静默退出,不下载乱码。-s(silent):静默模式。不显示进度条和下载速度,保持屏幕整洁。-S(show-error):虽然是静默模式,但如果真的出错了,还是要把错误原因告诉我。-L(location):自动重定向。如果get.docker.com搬家了(跳到了另一个网址),curl会自动跟过去。https://get.docker.com:这是 Docker 官方提供的“全自动安装脚本”地址。它会检测你的系统是 Ubuntu 还是 CentOS。
2. | (管道符)
这是 Linux 的灵魂符号。它的作用是:把左边命令的“输出结果”,直接塞给右边命令作为“输入”。
在这里,它把下载下来的安装脚本内容,直接喂给了 bash 解释器,省去了你先保存文件再运行的麻烦。
3. bash -s docker
这一部分负责解析并运行。
bash:告诉系统,用 Bash 环境来运行左边传过来的脚本。-s:告诉 bash,接下来要接收一些参数了。docker:这是传给脚本的参数,明确告诉它:“我要安装的是 Docker 引擎”。
4. --mirror Aliyun
这是关键加速器。
--mirror:这是脚本内置的一个选项。Aliyun:如果没有这个参数,脚本会默认去 Docker 官网(美国服务器)下载安装包,国内下载极慢且易断。指定Aliyun后,脚本会修改你的软件源仓库(repo),让系统从阿里云的国内镜像站下载 Docker 相关的安装包,速度起飞。
三、实测效果
bash
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl: (35) TCP connection reset by peer
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# Executing docker install script, commit: f381ee68b32e515bb4dc034b339266aff1fbc460
DEPRECATION WARNING
This Linux distribution (centos 7) reached end-of-life and is no longer supported by this script.
No updates or security fixes will be released for this distribution, and users are recommended
to upgrade to a currently maintained version of centos.
Press Ctrl+C now to abort this script, or wait for the installation to continue.
... ...
timers.target loaded active active Timers
systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
103 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.你第一次失败第二次成功,因为第一部分的 curl 在连接美国服务器获取脚本时不稳定,但一旦脚本下载下来,后面的 Aliyun 镜像部分就会跑得非常顺滑。
四、验证安装
bash
[root]# systemctl is-active docker
unknown
[root]# systemctl start docker
[root]# systemctl is-active docker
active
[root]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root]# docker --version
Docker version 26.1.4, build 5650f9b“查询状态 -> 启动程序 -> 确认运行 -> 设定开机自启 -> 查看版本”的完整五部曲。
1. systemctl is-active docker → unknown
- 动作:询问系统“Docker 现在活蹦乱跳吗?”
- 反馈
unknown:系统回答“我不知道”,或者更准确地说是“目前没有运行记录”。这通常发生在刚安装完还没启动过的时候。
2. systemctl start docker
- 动作:手动按下“启动开关”。
- 反馈:没有消息就是好消息,说明 Docker 引擎成功在后台跑起来了。
3. systemctl is-active docker → active
- 动作:再次询问状态。
- 反馈
active:关键点! 看到这个词,说明 Docker 已经在你的云服务器里“活”了,随时可以接收你的后端镜像。
4. systemctl enable docker
- 动作:设置开机自动启动。
- 反馈
Created symlink...:系统创建了一个“软链接”。 - 意义:这步非常重要!如果不执行这个,下次你的云服务器因为断电或维护重启后,Docker 不会自动启动,你的后端程序就会“断网”。现在,只要服务器开机,Docker 就会自动就位。
5. docker --version → 26.1.4
- 动作:亮出“身份证”。
- 反馈:确认安装的版本是
26.1.4。这是一个非常新的版本,完全支持我们接下来的所有自动化操作。
6. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
这句话是 Linux 系统在告诉你:“我已经帮你把 Docker 设为开机自启了。”
从技术层面拆解,它描述了一个**“建立关联”**的过程。你可以把它想象成在桌面上创建了一个“快捷方式”,只不过这个快捷方式是给系统启动时使用的。
- 核心概念:软链接 (Symlink) Created symlink 意为“创建了符号链接”。
源文件:/usr/lib/systemd/system/docker.service(这是 Docker 安装后的主程序配置文件,相当于“原件”)。
目标位置:/etc/systemd/system/multi-user.target.wants/(这是系统启动时会扫描的“任务清单”目录)。
- 为什么要在 multi-user.target.wants 下创建? 在 Linux 中,multi-user.target 代表**“多用户模式”**(即服务器正常运行的标准状态)。
这个文件夹名字里的 .wants 意思就是“系统进入这个模式时想要运行的服务”。
通过把 Docker 的配置文件链接到这里,系统在每次开机、进入多用户模式时,都会看到这个链接,从而自动启动 Docker。