马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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安装卸载
在线安装脚本
国内服务器
- #!/bin/bash
- # 移除掉旧的版本
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-selinux \
- docker-engine-selinux \
- docker-engine
- # 删除所有旧的数据
- sudo rm -rf /var/lib/docker
- # 安装依赖包
- sudo 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
- # 配置缓存
- sudo yum makecache
- # 安装最新稳定版本的docker
- sudo yum install -y docker-ce
- # 配置镜像加速器
- sudo mkdir -p /etc/docker
- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": ["http://hub-mirror.c.163.com",
- "https://docker.hpcloud.cloud",
- "https://docker.m.daocloud.io",
- "https://docker.unsee.tech",
- "https://docker.1panel.live",
- "http://mirrors.ustc.edu.cn",
- "https://docker.chenby.cn",
- "http://mirror.azure.cn",
- "https://dockerpull.org",
- "https://dockerhub.icu",
- "https://hub.rat.dev"]
- }
- EOF
- # 启动docker引擎并设置开机启动
- sudo systemctl start docker
- sudo systemctl enable docker
复制代码 国外服务器
- #!/bin/bash
- # 移除掉旧的版本
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-selinux \
- docker-engine-selinux \
- docker-engine
- # 删除所有旧的数据
- sudo rm -rf /var/lib/docker
- # 安装依赖包
- sudo yum install -y yum-utils \
- device-mapper-persistent-data \
- lvm2
- # 添加源
- sudo yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo
- # 配置缓存
- sudo yum makecache
- # 安装最新稳定版本的docker
- sudo yum install -y docker-ce
- # 启动docker引擎并设置开机启动
- sudo systemctl start docker
- sudo systemctl enable docker
复制代码 离线安装
- #离线下载docker-ce rpm安装包
- wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-26.1.4-1.el7.x86_64.rpm
- #安装docker-ce
- sudo yum install docker-ce-26.1.4-1.el7.x86_64.rpm
- # 启动docker引擎并设置开机启动
- sudo systemctl start docker
- sudo systemctl
复制代码 |