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

相关推荐
杨浦老苏2 小时前
现代流媒体聚合播放器冬瓜TV MAX
docker·群晖·多媒体
白露与泡影3 小时前
使用systemd,把服务装进 Linux 心脏里~
linux·运维·python
l1t4 小时前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器
k***92164 小时前
【Linux】进程概念(五):详解环境变量的本质
linux·运维·服务器
专业开发者4 小时前
艾通科技(ITON Technology)借助蓝牙 ® 网状网络,构建适用于自动化控制应用的大规模设备网络
运维·物联网·自动化
KakiNakajima4 小时前
CentOS 7 x86系统安装EMQX 【kaki备忘录】
linux·运维·centos
weixin_462446235 小时前
【原创实践】Docker 镜像批量导出镜像与导入镜像
运维·docker·容器
qq7590353665 小时前
Docker快速部署一款堡垒机系统
运维·docker·容器
敢敢のwings5 小时前
云服务器上部署Dify完整教程
运维·服务器