跳到主要内容

CentOS 容器管理

介绍

容器是一种轻量级的虚拟化技术,它允许你将应用程序及其依赖项打包到一个独立的单元中,从而实现快速部署和跨平台运行。在 CentOS 中,容器管理通常通过工具如 PodmanDocker 来实现。本教程将重点介绍如何使用 Podman 进行容器管理。

备注

Podman 是一个无守护进程的容器引擎,与 Docker 类似,但不需要后台服务运行,因此更加轻量级和安全。

安装 Podman

在 CentOS 中,你可以通过以下命令安装 Podman

bash
sudo yum install -y podman

安装完成后,验证安装是否成功:

bash
podman --version

输出示例:

podman version 3.4.4

创建和运行容器

拉取容器镜像

在运行容器之前,你需要从容器镜像仓库中拉取一个镜像。例如,拉取一个 CentOS 镜像:

bash
podman pull centos

运行容器

使用以下命令运行一个容器:

bash
podman run -it centos /bin/bash

这将启动一个交互式的 CentOS 容器,并进入容器的 Bash shell。

提示

-it 参数表示以交互式终端运行容器,/bin/bash 是容器启动后执行的命令。

列出运行的容器

要查看当前运行的容器,可以使用以下命令:

bash
podman ps

输出示例:

CONTAINER ID  IMAGE   COMMAND    CREATED        STATUS        PORTS   NAMES
123456789abc centos /bin/bash 5 minutes ago Up 5 minutes my_container

容器管理

停止容器

要停止一个正在运行的容器,可以使用以下命令:

bash
podman stop <container_id>

删除容器

要删除一个已停止的容器,可以使用以下命令:

bash
podman rm <container_id>

查看容器日志

要查看容器的日志输出,可以使用以下命令:

bash
podman logs <container_id>

实际案例

假设你需要在 CentOS 容器中运行一个简单的 Python Web 应用。首先,创建一个包含以下内容的 app.py 文件:

python
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, World!'

if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)

然后,创建一个 Dockerfile 文件来构建镜像:

dockerfile
FROM python:3.8-slim
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]

使用以下命令构建镜像并运行容器:

bash
podman build -t my-python-app .
podman run -d -p 5000:5000 my-python-app

现在,你可以通过访问 http://localhost:5000 来查看运行中的 Web 应用。

总结

通过本教程,你学习了如何在 CentOS 系统中使用 Podman 进行容器管理,包括容器的创建、运行、监控和删除等操作。容器化技术为应用程序的部署和管理提供了极大的便利,是现代 DevOps 实践中的重要组成部分。

附加资源

练习

  1. 尝试使用 Podman 运行一个 Nginx 容器,并将其映射到本地的 8080 端口。
  2. 创建一个包含多个容器的应用,并使用 Podman 管理这些容器的生命周期。
  3. 探索 Podman 的其他高级功能,如容器网络和存储管理。