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项,若显示你配置的华为云加速地址,则说明配置成功。

相关推荐
你好,帅哥10 小时前
openssl ,msys2 ,交叉编译
linux·运维·服务器
计算机安禾10 小时前
【Linux从入门到精通】第36篇:DNS服务探秘——自己搭建一个内网DNS
linux·运维·servlet
Web极客码11 小时前
2026年Linux VPS安全加固清单:SSH、防火墙与审计就绪配置
运维·服务器·数据库
星恒讯工业路由器11 小时前
配网自动化多网融合应用解决方案
运维·自动化
智慧物业老杨11 小时前
智慧物业收费系统的数智化落地实践:从人工硬扛到自动化闭环
运维·自动化
techdashen12 小时前
Cloudflare 为何抛弃 NGINX,用 Rust 自研了一个代理
运维·nginx·rust
南城猿12 小时前
保姆级 Ubuntu 部署 禅道
linux·运维·ubuntu
珠海西格电力12 小时前
零碳园区产业园管理系统的全场景源网荷储氢协同调度功能是如何实现的
大数据·运维·人工智能·物联网·能源
木雷坞13 小时前
K8s GPU 推理服务 ImagePullBackOff 排查与预热
云原生·容器·kubernetes·gpu算力
wj30558537813 小时前
CC-Switch 在 WSL Ubuntu 中安装记录
linux·运维·ubuntu