这个脚本适合做什么
install_docker_ubuntu_2404.sh 面向 Ubuntu 24.04.4 LTS 主机,适合那些希望按 Docker 官方仓库方式完成安装,但又不想手工重复敲一长串 APT 配置命令的场景。
如果你想给团队准备一个可审阅、可复制、可直接执行的安装入口,而不是把官方步骤拆散贴进群聊或 runbook,这个脚本就很合适。
它会对主机做哪些改动
脚本会清理旧版 Docker 包、导入 Docker 签名密钥与软件源、安装 Docker Engine 和 Compose 插件、写入基础版 /etc/docker/daemon.json,并重启 Docker 服务。
在安装阶段,它会优先使用 Docker 官方 Ubuntu 仓库;如果 download.docker.com 不可达,会自动回退到阿里云 Docker CE 镜像源。
如果你是通过 sudo 执行,它还会尝试把当前真实用户加入 docker 组,方便后续重新登录后免 sudo 使用 docker 和 docker compose。
- 如存在 docker.io 等旧包,会先移除
- 安装源采用 Docker 官方 Ubuntu 仓库,而不是旧版发行版软件包
- 脚本结尾会执行 docker --version、docker compose version 和 hello-world 验证
在接近生产的环境里如何更稳地使用
如果目标主机已经在跑容器,就不要把它当成“随手执行”的命令。更稳妥的方式是先审阅脚本、确认 /etc/docker/daemon.json 是否已有定制配置,并安排一个短维护窗口,因为脚本会重启 Docker。
如果是全新主机,通常一键命令就够了。若你的环境对变更更敏感,建议先下载原始脚本,内部审阅后再从本地执行。
访问不到 Docker Hub 时脚本会怎么处理
现在脚本会额外检测主机能否访问 Docker Registry。如果这一层连通性失败,脚本不会停留在“Docker 已装好但拉不了镜像”的半完成状态,而是会把 registry mirror 合并进 /etc/docker/daemon.json。
当前自动写入的镜像地址是 https://docker.1ms.run。写入 registry-mirrors 后,脚本会自动重启 Docker,并重新尝试 hello-world 验证。
- 适用于全新安装、daemon.json 还不存在的情况
- 也兼容 Docker 已安装但尚未配置 registry-mirrors 的情况
- 会尽量合并现有 daemon.json,而不是直接粗暴覆盖
安装后建议这样验证
脚本结束后,除了看版本号,也建议确认 Docker 服务状态。如果脚本把某个非 root 用户加入了 docker 组,要记得这个权限变化不会立刻影响当前 shell,需要重新登录,或者执行 newgrp docker。
- 执行 docker --version
- 执行 docker compose version
- 执行 systemctl status docker
- 如果还想再确认一次,可以重新运行 docker run --rm hello-world