制作 Docker 镜像:CentOS 入门指南

Docker 是一种轻量级容器化技术,可以帮助我们将应用程序及其依赖打包成可移植的镜像。CentOS 是一种流行的 Linux 发行版,广泛用于服务器和开发环境。在这篇文章中,我们将介绍如何制作一个简单的 CentOS Docker 镜像,并配以代码示例。

什么是 Docker 镜像?

Docker 镜像是一个只读的模板,它包含了运行某个应用所需的所有代码、库、环境变量和配置文件。我们可以从镜像创建出 Docker 容器来运行应用。

制作 CentOS Docker 镜像的步骤

1. 安装 Docker

在你的 Linux 系统上,使用以下命令安装 Docker:

sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

2. 创建 Dockerfile

Dockerfile 是 Docker 镜像的组成部分,它包含了一系列说明,用于构建镜像。我们可以创建一个简单的 Dockerfile,用于构建一个 CentOS 镜像:

# 使用官方的 CentOS 基础镜像
FROM centos:latest

# 安装所需的软件包
RUN yum install -y httpd

# 复制本地文件到容器
COPY ./index.html /var/www/html/index.html

# 设置容器启动时自动启动 Apache 服务
CMD ["httpd", "-D", "FOREGROUND"]

在上述文件中,我们选择了 centos:latest 作为基础镜像,并安装了 Apache HTTP 服务器。我们还复制了一个本地的 HTML 文件到容器中,并设置 Apache 在容器启动时运行。

3. 创建 HTML 文件

为了容器能够提供网站服务,我们需要创建一个简单的 index.html 文件:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to CentOS Docker!</title>
</head>
<body>
    Dockerized CentOS Application!
    <p>This is a simple web page served from a CentOS Docker container.</p>
</body>
</html>

4. 构建 Docker 镜像

在包含 Dockerfile 和 HTML 文件的目录中,运行以下命令来构建镜像:

docker build -t centos-webapp .

这条命令将 Dockerfile 中的指令用于构建镜像,并将其命名为 centos-webapp

5. 运行 Docker 容器

接下来,我们可以使用以下命令运行容器:

docker run -d -p 8080:80 centos-webapp

这个命令会将镜像以容器的形式运行,并将主机的 8080 端口映射到容器的 80 端口。

状态图与类图

在构建 Docker 镜像和运行容器的过程中,我们可以用状态图和类图来进一步说明整个流程。

stateDiagram
    [*] --> 构建镜像
    构建镜像 --> 运行容器
    运行容器 --> [*]
classDiagram
    class DockerImage {
        +string imageName
        +string baseImage
        +installPackages()
        +copyFiles()
        +runCommand()
    }
    class DockerContainer {
        +string containerID
        +string portMapping
        +start()
        +stop()
    }
    DockerImage <|-- DockerContainer

结尾

在本篇文章中,我们详细介绍了如何创建一个简单的 CentOS Docker 镜像,并演示了它的构建、运行及相关的代码示例。Docker 为应用程序的部署和管理带来了极大的便利,希望你能在日后的开发中更多地运用 Docker 技术,提高工作效率!