CentOS 8 和 7 Docker 科普

前言

在现代软件开发中,容器化技术已经成为一种非常重要的部署方式。而 Docker 是目前最流行的容器化平台之一,它能够提供轻量级的虚拟化环境,使得应用程序可以在不同的操作系统上运行。本文将介绍如何在 CentOS 8 和 7 上安装和运行 Docker,并通过代码示例来展示其基本用法。

安装 Docker

在开始之前,我们需要先安装 Docker。在 CentOS 8 上,可以通过以下命令安装 Docker:

sudo dnf config-manager --add-repo=
sudo dnf install docker-ce --nobest -y
sudo systemctl start docker
sudo systemctl enable docker

在 CentOS 7 上,可以通过以下命令安装 Docker:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo=
sudo yum install -y docker-ce --nobest
sudo systemctl start docker
sudo systemctl enable docker

运行容器

安装完成后,我们可以尝试运行一个容器。首先,我们需要拉取一个镜像。例如,我们可以拉取官方的 Nginx 镜像:

sudo docker pull nginx

拉取完成后,可以使用以下命令来运行一个 Nginx 容器:

sudo docker run -d -p 80:80 nginx

这将在后台运行一个 Nginx 容器,并将容器的 80 端口映射到宿主机的 80 端口。我们可以使用以下命令来查看容器的运行状态:

sudo docker ps

构建镜像

除了使用已有的镜像外,我们还可以根据自己的需求构建自定义的镜像。Docker 提供了 Dockerfile 来定义镜像的构建过程。以下是一个简单的示例 Dockerfile:

FROM centos:8
RUN yum install -y httpd
COPY index.html /var/www/html/
EXPOSE 80
CMD ["httpd", "-D", "FOREGROUND"]

在这个示例中,我们以 CentOS 8 为基础镜像,安装了 Apache 服务器,并将一个名为 index.html 的文件复制到 /var/www/html/ 目录下。然后,我们将容器的 80 端口暴露出来,并在容器启动时运行 Apache 服务器。

使用以下命令来构建镜像:

sudo docker build -t my-apache .

这将根据 Dockerfile 的定义构建一个名为 my-apache 的镜像。构建完成后,我们可以使用以下命令来运行一个容器:

sudo docker run -d -p 80:80 my-apache

总结

本文介绍了在 CentOS 8 和 7 上安装和运行 Docker 的基本步骤,并通过代码示例展示了 Docker 的基本用法。通过使用 Docker,我们可以快速、便捷地部署应用程序,并且能够轻松地构建自定义的镜像。希望本文对你理解和使用 Docker 有所帮助。

流程图

flowchart TD
    A[安装 Docker] --> B[拉取镜像]
    B --> C[运行容器]
    A --> D[构建镜像]
    D --> E[运行容器]
    C --> F[查看运行状态]
    E --> F

关系图

erDiagram
    Docker -.- CentOS 8
    Docker -.- CentOS 7
    Docker -.- Nginx
    Docker -.- Apache

参考链接

  • Docker 官方文档: [
  • CentOS 官方网站: [