🐳 Docker 在 Linux 下的部署与实战指南
💡 背景
最近接手了几个项目,发现项目的部署基本都基于 Docker。幸亏早在几年前就已经熟悉了 Docker 的基础用法,整个过程并未抓瞎。随着云原生生态的蓬勃发展,Docker 的重要性愈发凸显。
本文将带你一步步完成 Linux 环境下 Docker 的部署与配置。建议收藏,以备不时之需;如果你对 Docker 感兴趣,也可以直接照着步骤动手实践,早日享受容器化带来的便利与魅力。
一、Docker 及系统版本要求
Docker 从 17.03 版本开始分为两个分支:
| 版本类型 | 说明 |
|---|---|
| CE(Community Edition) | 社区版,免费,推荐学习和生产使用 |
| EE(Enterprise Edition) | 企业版,强调安全合规,需付费 |
📌 本文基于 Docker CE 社区版
✅ 系统要求
- 64 位版本的 CentOS 7 / 8 或更高版本
- Linux 内核版本 ≥ 3.10
二、查看系统与内核版本
2.1 查看 Linux 发行版本
方式一:lsb_release -a
lsb_release -a输出示例:
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core方式二:cat /etc/redhat-release
cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)✅ 当前系统为 CentOS 7.6,满足 Docker 要求
2.2 查看 Linux 内核版本
方式一:uname -r(推荐)
uname -r3.10.0-1160.45.1.el7.x86_64方式二:cat /proc/version
cat /proc/version方式三:uname -a
uname -a✅ 当前内核版本 3.10.0,满足 Docker ≥ 3.10 的要求
三、Docker 自动化安装(推荐 ✅)
Docker 官方与国内镜像站都提供了一键安装脚本,适合快速部署。
3.1 官方一键安装(阿里云镜像加速)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun3.2 国内 DaoCloud 一键安装
curl -sSL https://get.daocloud.io/docker | sh⏳ 执行完成后,Docker 即安装完毕,无需手动干预
💡 两条命令任选其一即可
四、Docker 手动安装(进阶 · 可控性更强)
手动安装流程分为三步:① 卸载旧版本 → ② 设置仓库 → ③ 安装 Docker
4.1 卸载旧版本(可选)
如果系统中曾安装过旧版本 Docker,建议先清理:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce4.2 设置 YUM 仓库
安装依赖工具
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2添加 Docker 仓库
官方源(较慢):
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo✅ 国内镜像源(推荐):
| 镜像源 | 仓库地址 |
|---|---|
| 阿里云 | http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
| 清华大学 | https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo |
使用阿里云镜像源:
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4.3 安装 Docker
安装最新版 Docker CE(推荐)
sudo yum install -y docker-ce docker-ce-cli containerd.io仅安装 Docker CE(无 CLI)
yum install -y docker-ce📌 安装完成后,Docker 默认 未启动,需手动启动
五、Docker 启动与验证
5.1 启动 Docker 服务
sudo systemctl start docker5.2 验证 Docker 是否正常工作
拉取 hello-world 镜像:
sudo docker pull hello-world运行 hello-world 容器:
sudo docker run hello-world成功输出示例:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image.
4. The Docker daemon streamed that output to the Docker client.🎉 至此,Docker 安装与启动全部完成!
5.3 Docker 服务管理命令
| 操作 | 命令 |
|---|---|
| 守护进程重载 | systemctl daemon-reload |
| 启动 Docker | systemctl start docker |
| 重启 Docker | systemctl restart docker |
| 关闭 Docker | systemctl stop docker |
| 查看状态 | systemctl status docker |
| 开机自启 | systemctl enable docker |
六、卸载 Docker(清理环境)
6.1 移除安装包
yum remove docker-ce6.2 删除镜像、容器与配置数据
rm -rf /var/lib/docker⚠️ 此操作不可逆,会删除所有镜像、容器、卷和网络数据
七、Docker 常用操作命令速查表 ⚡
7.1 镜像操作
| 操作 | 命令 |
|---|---|
| 🔍 搜索镜像 | docker search 镜像名 |
| ⬇️ 拉取镜像 | docker pull 镜像名 |
| 📋 查看镜像 | docker images |
| 🗑️ 删除镜像 | docker rmi 镜像ID |
7.2 容器操作
| 操作 | 命令 |
|---|---|
| 📋 查看运行中的容器 | docker ps |
| 📋 查看所有容器 | docker ps -a |
| ▶️ 启动已停止的容器 | docker start 容器ID |
| ⏹️ 停止容器 | docker stop 容器ID |
| 🔄 重启容器 | docker restart 容器ID |
| 🗑️ 删除容器 | docker rm 容器ID |
7.3 运行与进入容器
| 操作 | 命令 | 说明 |
|---|---|---|
| 🚀 新建并启动容器 | docker run -it ubuntu /bin/bash | 交互式终端 |
| 🔗 进入容器(推荐) | docker exec -it 容器ID /bin/bash | 不中断容器 |
| 🔗 附加到容器 | docker attach 容器ID | 退出会停止容器 |
💡 推荐使用 docker exec 进入容器,退出时不会停止容器运行7.4 其他实用命令
# 查看 Docker 帮助
docker help
# 查看 Docker 版本
docker version
# 查看 Docker 系统信息
docker info
# 查看容器日志
docker logs 容器ID
# 查看容器资源占用
docker stats🎨 Joe 主题美化说明
| 美化元素 | 效果 |
|---|---|
| 🐳 Emoji 图标 | 章节标题一目了然 |
| 📊 表格 | 版本对比、镜像源、命令速查整齐排列 |
📝 引用块 > | 背景说明与注意事项高亮 |
| 🔤 代码块 | 统一使用 bash,语法高亮清晰 |
| ➖ 分割线 | 模块之间视觉分隔 |
| 加粗重点 | 关键路径、推荐操作突出显示 |
📖 收藏本文,下次部署 Docker 直接照做即可!
如果觉得有帮助,欢迎分享给更多小伙伴 🚀
评论 (0)