IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker简介 -> 正文阅读

[系统运维]Docker简介


Docker是什么

Docker是一个在2013年开源的应用程序,基于go语言编写的PAAS(Platform as a Service,平台即服务)服务。Docker基于Linux内核实现,最早采用LXC技术(LXC是Linux原生支持的容器技术,可以提供轻量级的虚拟化,可以说docker就是基于LXC发展起来的,提供LXC的高级封装,发展标准的配置方法),而虚拟化技术KVM(Kernel-based Virtual Machine)基于模块实现,Docker后续自己开发并开源runC技术运行容器。

Docker相比虚拟机的交付速度更快,资源消耗更低,Docker采用客户端/服务端架构,使用远程API管理和创建Docker容器,其可以轻松的创建一个轻量级、可移植、自给自足的容器。Docker的三大理念是build(构建)、ship(运输)、run(运行),Docker遵从apache2.0协议,并通过namespaces、cgroups等来提供容器的资源隔离和安全保障等,所以Docker在运行时不需要类似虚拟机(空运行的虚拟机占用物理机6-8%性能)的额外资源开销,因此可以大幅提高资源利用率。

Docker的组成

在这里插入图片描述

  • Docker主机(Host):一台物理机或虚拟机,用于运行Docker进程和容器。
  • Docker服务端(Server):Docker守护进程,运行Docker容器。
  • Docker客户端(Client):客户端使用Docker命令或其他工具调用docker API。
  • Docker仓库(Registry):保存镜像的仓库,一般一个仓库保存同一服务的不同版本的镜像。
  • Docker镜像(Images):镜像可以理解为创建实例使用的模板,镜像是静态的、分层的、只读的。
  • Docker容器(Container):容器是从镜像生成对外提供服务的一个或一组服务。

Docker的安装

Docker-ce 阿里云镜像站

  • Step 1: 安装必要的一些系统工具

    [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data.x86_64 lvm2
    
  • Step 2: 添加软件源信息

    [root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • Step 3: 更新并安装Docker-CE

    [root@localhost ~]# yum makecache fast
    [root@localhost ~]# yum -y install docker-ce
    
  • Step 4: 开启Docker服务

    [root@localhost ~]#  systemctl start docker
    
  • Step 5:配置镜像加速器

    [root@localhost ~]# vim /etc/docker/daemon.json
    {
    	"registry-mirrors":["https://registry.docker-cn.com"]	
    }
    
  • Step 6:拉取Nginx镜像

    [root@localhost ~]# docker image pull nginx
    [root@localhost ~]# docker image ls 
    REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
    nginx        latest    822b7ec2aaf2   5 days ago   133MB
    
  • Step 7:运行Nginx容器

    [root@localhost ~]# docker run -d -it -p 80:80 nginx 
    1fb078fc6dc323b86482d3de4510ab5e0e167ac83187748dae5353d820b74993
    [root@localhost ~]# docker container ls
    CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS                               NAMES
    1fb078fc6dc3   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp   relaxed_wiles
    
  • Step 8:测试
    nginx

Docker对比虚拟机

Virtual & Docker

  • 资源利用率更高:一台物理机可以运行数百个容器,但是一般只能运行数十个虚拟机。容器没有单独内核,直接调用宿主机的内核;而虚拟机是有内核的,一个空的虚拟机即使不运行服务也会消耗一定资源。因此使用容器没有中间层的内核做资源转换,相同配置下,运行的容器数量比虚拟机数量要多。
  • 开销更小:Docker架构较之于虚拟机更加简单,不需要启动单独的虚拟机占用硬件资源。
  • 启动速度更快:可以在数秒内完成启动。

使用虚拟机是为了更好的实现服务运行环境隔离,每个虚拟机都有独立的内核,虚拟化可以实现不同操作系统的虚拟机,但是通常一个虚拟机只运行一个服务,很明显资源利用率比较低而且造成不必要的性能损耗,创建虚拟机的目录是为了运行应用程序(如Nginx、Tomcat等Web程序),使用虚拟机无疑带来不必要的资源开销,但容器技术基于减少中间运行环节,带来较大的性能提升。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:11:03  更:2021-09-09 12:13:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:57:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码