Linux(CentOS/Ubuntu) 系统安装Docker教程!别只顾着执行 Script,这几个生产环境的坑你得先埋了
最近给几台新服务器配环境,发现很多人还在用最原始的 yum install docker。说实话,这种装法在自己电脑上玩玩行,真到了生产环境(哪怕是公司的测试机),权限问题、日志撑爆磁盘、镜像拉不动,分分钟让你怀疑人生。
今天把 Linux 下安装 Docker 的标准姿势复盘一下,不整虚的,直接上干货。
1. 别让旧版本死灰复燃
很多 Linux 系统自带了老掉牙的 Docker 1.x。装新版前,第一件事就是把它们彻底干掉,免得一会儿服务冲突。
Ubuntu/Debian 跑这个:
code Bash
downloadcontent_copy
expand_less
sudo apt-get remove docker docker-engine docker.io containerd runc
CentOS/RHEL 跑这个:
code Bash
downloadcontent_copy
expand_less
sudo yum remove docker docker-common docker-selinux docker-engine
2. 别用官网源,那是给自己找不痛快
官网的 repo 地址在国外,执行 update 的时候慢得像蜗牛。直接换成阿里或者清华的源。
CentOS 推荐方案:
code Bash
downloadcontent_copy
expand_less
# 装个工具包
sudo yum install -y yum-utils
# 换源,别犹豫
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 真正干活的安装命令
现在我们要装的是 docker-ce(社区版),顺便把 Compose 插件也带上,现在没人还去单独装那个老掉牙的 Python 版 Compose 了。
code Bash
downloadcontent_copy
expand_less
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4. 关键:装完之后的“保命”配置
这部分最重要,很多教程不写。
默认装完,Docker 只有 root 能跑。如果你不想每次敲命令都加 sudo,或者不想某天发现服务器因为 Docker 日志满了而宕机,赶紧改 /etc/docker/daemon.json。
执行: sudo vi /etc/docker/daemon.json
直接贴入这段配置:
code JSON
downloadcontent_copy
expand_less
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "3"
},
"exec-opts": ["native.cgroupdriver=systemd"]
}
- 镜像加速: 目前国内镜像站动不动就挂,多配几个兜底。
- 日志限制: 这是“血泪教训”。默认 Docker 日志是无限大的,不限制的话,你的 SSD 迟早被这些 json.log 塞满。
- Cgroup: 保证 Docker 和系统内核的管理逻辑一致,别让它在压力大的时候乱跳。
别忘了刷新配置:
code Bash
downloadcontent_copy
expand_less
sudo systemctl daemon-reload
sudo systemctl enable docker --now
5. 权限问题一劳永逸
把你的当前用户加进 docker 组,退出重新登录,从此告别 sudo:
code Bash
downloadcontent_copy
expand_less
sudo usermod -aG docker $USER
6. 进阶:环境跑起来了,接下来干啥?
装好 Docker 只是拿到了入场券。在实际开发里,你还得面对这几个现实问题:
- 镜像拉不动怎么办? (现在的网络环境,你懂的)
- 常用的 MySQL、Redis 怎么一键编排?
- Dockerfile 怎么写才能让镜像只有几十 M 而不是几百 M?
为了少搜点零散的博客,我把这些年攒下来的 Docker 常用命令速查表(PDF版) 、全套离线镜像包(Nginx/MySQL等) 还有 10个直接能跑的实战项目源码 全整理在一起了。
如果你是刚开始折腾 Docker,或者正在准备面试,建议直接看我这篇总结:
👉 https://blog.csdn.net/xifangge2025/article/details/160361036?spm=1011.2415.3001.5331
里面有我整理的 1GB 常用服务镜像离线包,专门针对内网环境或者是家里网速不给力的情况,建议先保存到网盘吃灰,用的时候你就知道有多香了。
碎碎念
技术这东西,环境配好了就成功了一半。如果在装 containerd.io 报错,或者遇到 GPG check failed,大概率是系统的内核版本太旧或者依赖冲突。
有报错的在评论区把堆栈贴出来,我看到会回。别自己瞎折磨。
#Docker #Linux #后端开发 #运维实战 #环境配置
更多推荐


所有评论(0)