目录
[一、Docker 核心概念](#一、Docker 核心概念)
[二,Docker 优势](#二,Docker 优势)
[四,Docker 安装与配置](#四,Docker 安装与配置)
[步骤 1:创建 Docker 配置目录](#步骤 1:创建 Docker 配置目录)
[步骤 2:写入华为云加速器配置文件](#步骤 2:写入华为云加速器配置文件)
[步骤 3:重启 Docker 服务使配置生效](#步骤 3:重启 Docker 服务使配置生效)
前言
Docker 是一个开源的容器化平台 ,让开发者可以将应用程序及其依赖项打包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的机器上,实现一次构建、到处运行。它解决了开发环境与生产环境不一致、依赖冲突、部署复杂等问题,是现代软件开发和 DevOps 流程的核心工具之一。
一、Docker 核心概念
-
镜像(Image)
- 镜像是一个只读的模板,包含了运行应用所需的代码、运行时、库、环境变量和配置文件等。
- 例如:一个
ubuntu镜像就是一个包含 Ubuntu 操作系统的模板,一个nginx镜像就是预装了 Nginx 服务器的模板。 - 镜像通过 Dockerfile 构建,支持分层存储(层复用,减少冗余)。
-
容器(Container)
- 容器是镜像的运行实例,是一个独立的、可执行的软件包(镜像 + 运行时环境)。
- 容器基于镜像创建,支持启动、停止、删除、暂停等操作,彼此隔离(通过 Linux 命名空间、cgroup 等技术)。
- 例如:运行
docker run nginx会基于nginx镜像创建并启动一个 Nginx 容器。
-
仓库(Repository)
- 仓库是用于存储和分发 Docker 镜像的地方,类似代码仓库(如 GitHub)。
- Docker Hub:官方公共仓库,包含大量官方镜像(如 Ubuntu、Nginx、MySQL 等)。
- 私有仓库:企业或个人搭建的私有镜像仓库(如 Docker Registry、Harbor)。
-
Docker 引擎(Docker Engine)
- Docker 的核心运行组件,包含:
- 守护进程(dockerd):后台服务,负责管理镜像、容器等资源。
- CLI 客户端(docker):用户通过命令行与 dockerd 交互。
- REST API:支持编程方式调用 Docker 功能。
- Docker 的核心运行组件,包含:
二,Docker 优势
- 轻量级:容器基于宿主机内核,无需模拟操作系统,启动速度快(毫秒级),资源占用少。
- 可移植性:容器可在任何支持 Docker 的平台(Linux、Windows、macOS)上运行,环境一致性高。
- 隔离性:容器间通过命名空间和 cgroup 实现资源隔离,互不干扰。
- 易扩展:结合 Docker Compose、Kubernetes 等工具,可快速实现应用的集群部署和扩缩容。
三,Docker****架构以及组件
3.1、核心模块及组件
-
Client(客户端)
- 是用户与 Docker 交互的入口,通过
docker build(构建镜像)、docker pull(拉取镜像)、docker run(启动容器)等命令,将操作请求发送给 Docker 守护进程。
- 是用户与 Docker 交互的入口,通过
-
**Docker Host(Docker 主机)**是 Docker 的运行环境,包含 3 个核心组件:
- Docker daemon(守护进程):Docker 的核心服务,负责接收 / 处理客户端请求,管理镜像、容器等资源的全生命周期。
- Images(镜像):只读的应用模板,包含运行应用所需的代码、依赖、环境配置等,可从仓库拉取或本地构建。
- Containers(容器):镜像的运行实例,是独立的可执行环境,基于镜像创建,支持启动、停止、删除等操作。
-
**Registry(镜像仓库)**是存储、分发 Docker 镜像的平台(典型如官方的 Docker Hub),Docker 守护进程可从仓库拉取镜像到本地,也可将本地构建的镜像推送至仓库共享。
3.2、组件交互逻辑
以常见操作为例:
- 执行
docker pull:客户端将请求发给 Docker daemon → daemon 从 Registry 拉取镜像,存储到本地 Images 中; - 执行
docker run:客户端发送请求 → daemon 基于本地 Images 创建并启动 Containers。
该架构是 Docker"一次构建、到处运行" 特性的基础:通过镜像的标准化封装、仓库的分发能力,结合容器的隔离性,实现了应用跨环境的一致性部署。
四,Docker****安装与配置
关闭防火墙等增强服务
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker-CE 并设置为开机自动启动
yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 containerd.io
(指定20版本)
systemctl start docker.service
systemctl enable docker.service
docker info :查看 Docker 系统信息。
镜像加速下载
-
添加阿里云 Docker 源的意义Docker 官方软件源部署在国外,国内服务器直接访问时,下载速度会很慢(甚至因网络问题无法连接)。而阿里云是国内的镜像源,用它替代官方源,能大幅提升 Docker 安装包的下载速度,同时保证安装包的安全性和完整性。
-
指定 Docker 版本安装的意义不同版本的 Docker 在功能、兼容性上存在差异:
- 避免安装 "最新版" 可能带来的兼容性问题;
- 确保多台服务器 / 环境的 Docker 版本一致,方便后续的集群管理、问题排查。
- 配置华为云镜像加速器的意义 Docker 拉取镜像(比如
nginx、mysql等)默认从 "Docker Hub"(国外镜像仓库)拉取,国内网络下这个过程会非常慢。华为云镜像加速器是国内的镜像缓存服务,配置后 Docker 会优先从国内缓存拉取镜像,能把拉取时间从 "几分钟" 缩短到 "几秒",大幅提升镜像获取效率。
步骤 1:创建 Docker 配置目录
首先执行命令创建 Docker 的配置目录(确保目录存在):
mkdir -p /etc/docker
步骤 2:写入华为云加速器配置文件
执行以下命令,将加速器配置写入 Docker 的核心配置文件daemon.json:
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0a40cefd360026b40f39c00627fa6f20.mirror.swr.myhuaweicloud.com"]
}
EOF
步骤 3:重启 Docker 服务使配置生效
配置文件修改后,需重新加载 Docker 配置并重启服务:
systemctl daemon-reload # 重新加载系统服务配置
systemctl restart docker # 重启Docker服务
执行以下命令查看 Docker 配置,确认加速器已生效:
docker info
在输出结果中找到Registry Mirrors项,若显示你配置的华为云加速地址,则说明配置成功。