Docker

目录

[一、Docker 核心概念](#一、Docker 核心概念)

[二,Docker 优势](#二,Docker 优势)

三,Docker架构以及组件

3.1、核心模块及组件

3.2、组件交互逻辑

[四,Docker 安装与配置](#四,Docker 安装与配置)

[步骤 1:创建 Docker 配置目录](#步骤 1:创建 Docker 配置目录)

[步骤 2:写入华为云加速器配置文件](#步骤 2:写入华为云加速器配置文件)

[步骤 3:重启 Docker 服务使配置生效](#步骤 3:重启 Docker 服务使配置生效)


前言

Docker 是一个开源的容器化平台 ,让开发者可以将应用程序及其依赖项打包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的机器上,实现一次构建、到处运行。它解决了开发环境与生产环境不一致、依赖冲突、部署复杂等问题,是现代软件开发和 DevOps 流程的核心工具之一。

一、Docker 核心概念

  1. 镜像(Image)

    • 镜像是一个只读的模板,包含了运行应用所需的代码、运行时、库、环境变量和配置文件等。
    • 例如:一个 ubuntu 镜像就是一个包含 Ubuntu 操作系统的模板,一个 nginx 镜像就是预装了 Nginx 服务器的模板。
    • 镜像通过 Dockerfile 构建,支持分层存储(层复用,减少冗余)。
  2. 容器(Container)

    • 容器是镜像的运行实例,是一个独立的、可执行的软件包(镜像 + 运行时环境)。
    • 容器基于镜像创建,支持启动、停止、删除、暂停等操作,彼此隔离(通过 Linux 命名空间、cgroup 等技术)。
    • 例如:运行 docker run nginx 会基于 nginx 镜像创建并启动一个 Nginx 容器。
  3. 仓库(Repository)

    • 仓库是用于存储和分发 Docker 镜像的地方,类似代码仓库(如 GitHub)。
    • Docker Hub:官方公共仓库,包含大量官方镜像(如 Ubuntu、Nginx、MySQL 等)。
    • 私有仓库:企业或个人搭建的私有镜像仓库(如 Docker Registry、Harbor)。
  4. Docker 引擎(Docker Engine)

    • Docker 的核心运行组件,包含:
      • 守护进程(dockerd):后台服务,负责管理镜像、容器等资源。
      • CLI 客户端(docker):用户通过命令行与 dockerd 交互。
      • REST API:支持编程方式调用 Docker 功能。

二,Docker 优势

  1. 轻量级:容器基于宿主机内核,无需模拟操作系统,启动速度快(毫秒级),资源占用少。
  2. 可移植性:容器可在任何支持 Docker 的平台(Linux、Windows、macOS)上运行,环境一致性高。
  3. 隔离性:容器间通过命名空间和 cgroup 实现资源隔离,互不干扰。
  4. 易扩展:结合 Docker Compose、Kubernetes 等工具,可快速实现应用的集群部署和扩缩容。

三,Docker****架构以及组件

3.1、核心模块及组件

  1. Client(客户端)

    • 是用户与 Docker 交互的入口,通过docker build(构建镜像)、docker pull(拉取镜像)、docker run(启动容器)等命令,将操作请求发送给 Docker 守护进程。
  2. **Docker Host(Docker 主机)**是 Docker 的运行环境,包含 3 个核心组件:

    • Docker daemon(守护进程):Docker 的核心服务,负责接收 / 处理客户端请求,管理镜像、容器等资源的全生命周期。
    • Images(镜像):只读的应用模板,包含运行应用所需的代码、依赖、环境配置等,可从仓库拉取或本地构建。
    • Containers(容器):镜像的运行实例,是独立的可执行环境,基于镜像创建,支持启动、停止、删除等操作。
  3. **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 系统信息。
镜像加速下载

  1. 添加阿里云 Docker 源的意义Docker 官方软件源部署在国外,国内服务器直接访问时,下载速度会很慢(甚至因网络问题无法连接)。而阿里云是国内的镜像源,用它替代官方源,能大幅提升 Docker 安装包的下载速度,同时保证安装包的安全性和完整性。

  2. 指定 Docker 版本安装的意义不同版本的 Docker 在功能、兼容性上存在差异:

  • 避免安装 "最新版" 可能带来的兼容性问题;
  • 确保多台服务器 / 环境的 Docker 版本一致,方便后续的集群管理、问题排查。
  1. 配置华为云镜像加速器的意义 Docker 拉取镜像(比如nginxmysql等)默认从 "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项,若显示你配置的华为云加速地址,则说明配置成功。

相关推荐
AOwhisky6 分钟前
Linux逻辑卷管理:从“固定隔间”到“弹性存储池”的智慧
linux·运维·服务器
05大叔1 小时前
大事件Day02
运维·服务器
左直拳1 小时前
将c++程序部署到docker
开发语言·c++·docker
五仁火烧1 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
C Yu小白2 小时前
Linux系统调用与文件操作详解
linux·运维·服务器
ZFB00012 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——常见用户组简介
linux·运维·kylin
acrelgxy2 小时前
告别被动抢修与盲目巡检!安科瑞运维云平台,让电力系统实现预测性守护。
运维·电力监控系统·智能电力仪表
EndingCoder2 小时前
类的继承和多态
linux·运维·前端·javascript·ubuntu·typescript
Anyexyz2 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器
信创天地2 小时前
深耕金融政务核心场景:国产化数据库迁移的全流程架构设计与风险管控
运维·网络安全·系统架构·系统安全·运维开发