Docker 安装 CentOS(深入浅出)

Docker 安装 CentOS 的完整指南:从零开始搭建你的 Linux 开发环境

在现代软件开发中,环境一致性是项目顺利推进的关键。你有没有遇到过“在我机器上跑得好好的,为什么你那边报错”这种尴尬局面?这背后往往是因为开发环境差异造成的。而 Docker 的出现,正是为了解决这类问题。它能让你在一个标准化的容器中运行应用,无论操作系统是 Windows、macOS 还是 Linux,结果都一模一样。

今天我们要聊的主题是 Docker 安装 CentOS。CentOS 是一个稳定、安全、广泛用于企业级服务器的 Linux 发行版,特别适合搭建后端服务、数据库或测试环境。通过 Docker 安装 CentOS,你可以在几分钟内拥有一个干净、隔离的 Linux 环境,无需担心影响本机系统。


为什么选择 Docker 安装 CentOS?

在开始之前,先回答一个问题:为什么不直接装一个 CentOS 虚拟机?确实可以,但虚拟机资源占用大、启动慢、配置繁琐。而 Docker 容器是轻量级的,它共享宿主机的内核,启动速度极快,资源消耗低,非常适合快速搭建测试环境或学习 Linux 命令。

想象一下,Docker 就像一个“微型操作系统盒子”,你可以在里面装任何系统,比如 CentOS。这个盒子可以随时创建、销毁、迁移,非常灵活。而 Docker 安装 CentOS,就是把这样一个“盒子”快速部署到你的电脑上。


准备工作:安装 Docker 与基本环境配置

在执行 Docker 安装 CentOS 操作前,你需要先确保本地已安装 Docker。目前主流的操作系统都支持 Docker,包括 Windows、macOS 和 Linux。

1. 下载并安装 Docker Desktop(推荐)

对于 Windows 和 macOS 用户,建议使用 Docker Desktop。它提供了图形化界面,操作简单,适合初学者。

  • 访问 https://www.docker.com/products/docker-desktop 下载对应版本。
  • 安装完成后启动 Docker Desktop,确保状态显示为“Running”。
  • 打开终端(Terminal)或命令提示符(CMD),输入以下命令验证安装是否成功:
docker --version

✅ 输出示例:Docker version 24.0.7, build 3e425f1
这说明 Docker 已正确安装。


2. 验证 Docker 服务运行状态

docker info

该命令会输出 Docker 的详细信息,包括运行时环境、存储驱动、网络配置等。如果能看到这些信息,说明 Docker 服务正在正常运行。

⚠️ 注意:如果你在 Linux 上使用 Docker,可能需要将当前用户加入 docker 用户组,避免每次执行命令都要加 sudo

sudo usermod -aG docker $USER

然后退出当前终端并重新登录,使用户组生效。


执行 Docker 安装 CentOS:拉取镜像并运行容器

现在我们正式进入核心环节:Docker 安装 CentOS。整个过程分为两步:拉取 CentOS 镜像,然后运行容器。

1. 拉取 CentOS 官方镜像

CentOS 官方镜像托管在 Docker Hub 上。我们可以使用 docker pull 命令获取它。

docker pull centos:8

📌 命令解释:

  • docker pull:从远程仓库下载镜像。
  • centos:8:指定镜像名称和标签。8 是 CentOS 8 的版本号。当前推荐使用 centos:8centos:9-stream(更现代的版本)。

这个过程可能需要几十秒到几分钟,取决于你的网络速度。

2. 运行 CentOS 容器

镜像下载完成后,使用 docker run 命令启动一个交互式容器。

docker run -it --name my-centos centos:8 /bin/bash

📌 参数说明:

  • -i:保持标准输入打开,即使没有连接也保持运行。
  • -t:分配一个伪终端(TTY),允许你与容器交互。
  • --name my-centos:给容器起个名字,方便后续管理。
  • centos:8:使用的镜像名称。
  • /bin/bash:启动后执行的命令,这里是进入 Bash Shell。

执行后,你会看到命令行提示符变成了类似 root@<container-id>:/# 的样子,说明你已经成功进入了 CentOS 容器内部!


在容器中操作 CentOS:基本命令与环境配置

现在你已经“进入”了 CentOS 系统,可以像操作真实 Linux 机器一样使用命令行。

查看系统信息

cat /etc/os-release

输出会显示 CentOS 8 的详细信息,包括版本号、ID 和名称。

更新系统软件包

CentOS 默认的软件源可能比较旧。建议先更新一下包索引:

yum update -y

📌 说明:yum 是 CentOS 8 的包管理工具,类似 Ubuntu 的 apt-y 参数表示自动回答“是”,避免手动确认。

❗ 注意:CentOS 8 已于 2021 年停止维护,推荐使用 centos:9-stream。若需更稳定长期支持,可考虑 almalinux:9rockylinux:9


安装常用工具(如 vim、wget)

yum install -y vim wget net-tools

✅ 安装了 vim(文本编辑器)、wget(下载工具)、net-tools(包含 ifconfig 等网络工具)。

查看网络接口

ip a

输出会显示容器的网络接口,比如 eth0,以及 IP 地址(通常是 172.x.x.x)。


退出与管理容器:如何停止、重启、删除

当你完成操作后,可以退出容器。

1. 退出容器

exit

执行后,你将回到宿主机的终端。

2. 查看正在运行的容器

docker ps

输出会列出所有正在运行的容器。注意:刚才的 my-centos 容器已经停止了。

3. 查看所有容器(包括已停止的)

docker ps -a

这会显示所有容器,无论是否运行中。

4. 重启容器

docker start my-centos

启动名为 my-centos 的容器。

5. 进入已停止的容器

docker exec -it my-centos /bin/bash

docker exec 允许你在运行中的容器里执行新命令。这里我们进入容器并启动 Bash。

6. 删除容器

docker rm my-centos

删除名为 my-centos 的容器。删除前请确保容器已停止。


实际应用场景:用 Docker 安装 CentOS 搭建 Web 服务器

下面我们来一个实战案例:在 Docker 安装 CentOS 的容器中部署一个简单的 Nginx 服务。

1. 安装 Nginx

yum install -y nginx

2. 启动 Nginx 服务

systemctl start nginx

📌 CentOS 使用 systemctl 管理服务,类似 service nginx start

3. 查看 Nginx 是否运行

systemctl status nginx

如果输出中有 active (running),说明服务已启动。

4. 暴露端口(关键步骤)

Docker 容器默认是隔离的。要从宿主机访问 Nginx,必须将容器的端口映射到宿主机。

重新运行容器时添加 -p 参数:

docker run -it --name web-centos -p 8080:80 centos:8 /bin/bash

📌 -p 8080:80 表示将宿主机的 8080 端口映射到容器的 80 端口(Nginx 默认端口)。

然后在容器中启动 Nginx:

systemctl start nginx

5. 测试访问

打开浏览器,访问 http://localhost:8080。如果看到 Nginx 的欢迎页面,说明成功了!


总结:Docker 安装 CentOS 的价值与建议

通过本文,我们一步步完成了 Docker 安装 CentOS 的全过程。从环境准备、镜像拉取、容器运行,到实际应用部署,整个流程清晰、可复现。

对于初学者来说,这种方式是学习 Linux 命令、调试服务、理解容器化理念的最佳起点。对于中级开发者,它能快速搭建测试环境,避免“环境差异”带来的问题。

✅ 小贴士:

  • 建议使用 centos:9-stream 替代 centos:8,获取更长的支持周期。
  • 重要数据不要直接保存在容器中,应使用卷(volume)或挂载目录。
  • 可通过 docker commit 将配置好的容器保存为新镜像,便于复用。

记住:Docker 不是“替代”操作系统,而是“补充”开发流程的利器。掌握 Docker 安装 CentOS,是你迈向 DevOps 和云原生开发的重要一步。

愿你在每一次命令行输入中,都能感受到技术带来的掌控感与成就感。