Docker

[复制链接]
发表于 2025-11-4 16:29:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Docker概述

‌Docker‌是一个开源的应用容器引擎,它答应开发者将应用及其依赖打包到一个可移植的容器中,这些容器可以在任何盛行的Linux或Windows操纵体系上运行。Docker通过容器化技能,实现了应用的高效摆设、隔离运行和快速启动‌。
Docker的根本概念

      
  • ‌容器(Container)‌:Docker容器是运行在Docker上的应用,每个容器都是独立的,相互之间不会互干系扰。容器内部运行着一个或一组应用,而且共享宿主机的内核,没有本身的内核,因此启动速率快、资源利用率高‌23。  
  • ‌镜像(Image)‌:Docker镜像是一个模板,用于创建容器。一个镜像可以创建多个容器,镜像包罗了运行应用所需的全部依赖和设置‌。  
  • ‌Docker Daemon‌:Docker保卫进程,负责管理容器的生命周期,如启动、克制、删除等操纵‌。  
  • ‌客户端(Client)‌:用户通过Docker客户端与Docker保卫进程交互,实验各种下令,如下载镜像、创建容器等‌23。  
  • ‌堆栈(Registry)‌:存储Docker镜像的地方,可以是公开的(如Docker Hub)或私有的‌。
Docker的焦点技能

Docker利用LXC(Linux Container)技能实现操纵体系级别的假造化。LXC是一种轻量级的假造化技能,通过Linux内核的功能(如cgroups和namespaces)来隔离和分配资源,使得每个容器都有独立的运行情况,但共享宿主机的内核‌。
Docker的上风

      
  • ‌快速摆设‌:Docker容器启动敏捷,可以在几秒钟内完成摆设,恰当快速迭代和测试。  
  • ‌情况划一性‌:确保开发、测试和生产情况的划一性,淘汰因情况差异导致的错误。  
  • ‌资源隔离‌:每个容器运行在独立的沙箱情况中,互不干扰,进步了体系的稳固性和安全性。  
  • ‌高效资源利用‌:Docker可以在一台物理机上运行多个容器,充实利用硬件资源。  
  • ‌便携性‌:容器可以在任何支持Docker的呆板上运行,便于迁移和维护‌。
docker VS 假造机

架构差异

Docker:容器化技能

Docker 是一种基于操纵体系级假造化的技能。它通过将应用及其全部依赖(如库、设置文件、工具等)打包到一个容器中,使得应用在任何地方都能划一地运行。容器共享宿主操纵体系的内核,但每个容器在用户空间中运行本身的进程,具有文件体系隔离。

      
  • 隔离级别: 容器与宿主操纵体系共享内核,利用差别的进程和文件体系举行隔离。  
  • 资源占用: 容器启动速率极快,通常只须要几秒钟,占用的资源比假造机少得多。  
  • 跨平台: 由于容器的轻量特性,它能在差别的情况中快速摆设,包管划一性。

假造机:硬件假造化

假造机则通过硬件假造化将物理呆板分割成多个假造情况,每个假造机都包罗完备的操纵体系(OS)。假造机通过 hypervisor(假造机监控监控步伐)在物理主机上模仿出假造硬件,并为每个假造机提供本身的内核。

      
  • 隔离级别: 假造机是完全隔离的,每个假造机都有本身的操纵体系内核,不共享宿主操纵体系的内核。  
  • 资源占用: 假造机通常比容器斲丧更多的资源,由于每个假造机都包罗本身的操纵体系。启动时间也更长,通常须要几分钟。  
  • 跨平台: 假造机可以大概在差别的硬件平台之间迁移,但须要较高的资源支持。

性能对比

由于 Docker 容器直接共享宿主操纵体系的内核,它们比假造机具有更高的性能。容器的启动时间非常快,可以在几秒钟内完成,而假造机的启动通常须要几分钟。容器的资源开销也较低,这使得同一台物理主机可以运行更多的容器,而假造机的资源占用则较为高效且须要更多的体系资源。
启动速率:


      
  • Docker: 由于容器不须要启动完备的操纵体系,启动速率极快,通常在几秒钟内就能启动。  
  • 假造机: 由于须要加载整个操纵体系,假造机的启动时间较长,一样平常须要几分钟。
资源占用:


      
  • Docker: 容器共享宿主操纵体系内核,因此资源利用率较高,可以大概在同一台呆板上运行更多的实例。  
  • 假造机: 每个假造机都须要独立的操纵体系和内核,因此资源斲丧较大,通常只能在有限的硬件资源下运行少数几个假造机。
应用场景

Docker 的实用场景

Docker 非常恰当须要快速、机动摆设、管理和扩展的应用,尤其是微服务架构、CI/CD 流程中的应用,大概须要跨差别情况(如开发、测试、生产)划一性的场景。它的快速启动时间和低资源斲丧使其成为容器化开发、自动化摆设以及跨平台应用的一流选择。

      
  • 微服务架构: Docker 是微服务架构的理想选择,由于每个微服务可以运行在独立的容器中,易于管理和扩展。  
  • CI/CD: Docker 可以大概在差别情况中快速构建、测试和摆设应用,方便与一连集成、一连摆设(CI/CD)管道集成。
假造机的实用场景

假造机恰当那些须要完备操纵体系隔离、运行多种差别操纵体系,或须要高度隔离的场景。它实用于一些企业级应用、遗留体系的摆设或假造桌面根本办法(VDI)等。

      
  • 多操纵体系情况: 假如须要运行多个差别操纵体系的情况,假造机可以提供完备的操纵体系模仿,容器则不实用。  
  • 遗留应用: 某些老旧应用大概无法直接在容器中运行,此时假造机可以大概提供一个兼容的情况。
Docker安装卸载

在线安装脚本

国内服务器

  1. #!/bin/bash
  2. # 移除掉旧的版本
  3. sudo yum remove docker \
  4.                   docker-client \
  5.                   docker-client-latest \
  6.                   docker-common \
  7.                   docker-latest \
  8.                   docker-latest-logrotate \
  9.                   docker-logrotate \
  10.                   docker-selinux \
  11.                   docker-engine-selinux \
  12.                   docker-engine
  13. # 删除所有旧的数据
  14. sudo rm -rf /var/lib/docker
  15. #  安装依赖包
  16. sudo yum install -y yum-utils \
  17.   device-mapper-persistent-data \
  18.   lvm2
  19. # 添加源,使用了阿里云镜像
  20. yum-config-manager \
  21.     --add-repo \
  22.     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  23. # 配置缓存
  24. sudo yum makecache
  25. # 安装最新稳定版本的docker
  26. sudo yum install -y docker-ce
  27. # 配置镜像加速器
  28. sudo mkdir -p /etc/docker
  29. sudo tee /etc/docker/daemon.json <<-'EOF'
  30. {
  31.   "registry-mirrors": ["http://hub-mirror.c.163.com",
  32.       "https://docker.hpcloud.cloud",
  33.     "https://docker.m.daocloud.io",
  34.     "https://docker.unsee.tech",
  35.     "https://docker.1panel.live",
  36.     "http://mirrors.ustc.edu.cn",
  37.     "https://docker.chenby.cn",
  38.     "http://mirror.azure.cn",
  39.     "https://dockerpull.org",
  40.     "https://dockerhub.icu",
  41.     "https://hub.rat.dev"]
  42. }
  43. EOF
  44. # 启动docker引擎并设置开机启动
  45. sudo systemctl start docker
  46. sudo systemctl enable docker
复制代码
国外服务器

  1. #!/bin/bash
  2. # 移除掉旧的版本
  3. sudo yum remove docker \
  4.                   docker-client \
  5.                   docker-client-latest \
  6.                   docker-common \
  7.                   docker-latest \
  8.                   docker-latest-logrotate \
  9.                   docker-logrotate \
  10.                   docker-selinux \
  11.                   docker-engine-selinux \
  12.                   docker-engine
  13. # 删除所有旧的数据
  14. sudo rm -rf /var/lib/docker
  15. #  安装依赖包
  16. sudo yum install -y yum-utils \
  17.   device-mapper-persistent-data \
  18.   lvm2
  19. # 添加源
  20. sudo yum-config-manager \
  21.     --add-repo \
  22.     https://download.docker.com/linux/centos/docker-ce.repo
  23. # 配置缓存
  24. sudo yum makecache
  25. # 安装最新稳定版本的docker
  26. sudo yum install -y docker-ce
  27. # 启动docker引擎并设置开机启动
  28. sudo systemctl start docker
  29. sudo systemctl enable docker
复制代码
离线安装

  1. #离线下载docker-ce rpm安装包
  2. wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-26.1.4-1.el7.x86_64.rpm
  3. #安装docker-ce
  4. sudo yum install docker-ce-26.1.4-1.el7.x86_64.rpm
  5. # 启动docker引擎并设置开机启动
  6. sudo systemctl start docker
  7. sudo systemctl
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表