docker概述&花式安装
admin
2023-03-29 18:21:02
0

docker概述:

什么是Docker?

  • Docker是一种Linux容器技术,一种高效、敏捷、和轻量级的容器解决方案,并且支持在多种主流平台(PaaS)和本地部署。Docker是基于Go语言实现的云kai源项目,诞生于2013年,最初发起者是DotCloud公司,后来改名为DockerInc,之后专注于Docker相关技术和产品的kai发。Docker项目目前已经加入了Linux基金会,遵循Apache2.0kai源协议,全部kai源dai码均在https://github.com/docker上进行相关维护,官网地址为:https://www.docker.com/,有相关文档可以参考,现在docker与openstack同为最受欢迎的云计算kai源项目。

  • docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。docker的构想思想是要实现“Build,ShipandRunAnyApp,Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。这里的应用组件,既可以是一个Web应用、一个编译环境,也可以是一套数据库平台服务,甚至是一个操作系统或集群。
  • 基于Linux平台上的多项kai源技术,Docker提供了高效、敏捷和轻量级的容器方案,并支持部署到本地环境和多种主流云平台。可以说,Docker首次为应用的kai发、运行和部署提供了“一站式”的实用解决方案。

docker概述&花式安装

为何要使用docker?
1,Docker容器虚拟化的好处

  • Docker项目的发起人和Docker公司CTOSolomonHykes曾认为,Docker在正确的地点、正确的时间顺应了正确的趋势——如何正确地构建应用。
  • 在云时dai,kai发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的限制;同时必须是“任何时间、任何地点”可获取的。因此,kai发者需要一种新型的创建分布式应用程序的方式,快速分发和部署,这正是Docker所能够提供的最大优势。
  • 举个简单的例子,假设用户试图基于最常见的LAMP(Linux+Apache+MySQL+PHP)组合来构建一个网站。按照传统的做法,首先,需要安装Apache、MySQL和PHP以及它们各自运行所依赖的环境;之后分别对它们进行配置(包括创建合适的用户、配置参数等);经过大量的操作后,还需要进行功能测试,看是否工作正常;如果不正常,则进行调试追踪,意味着更多的时间dai价和不可控的风险。可以想象,如果应用数目变多,事情会变得更加难以处理。
  • 更为可怕的是,一旦需要服务器迁移(例如从亚马逊云迁移到其他云),往往需要对每个应用都进行重新部署和调试。这些琐碎而无趣的“体力活”,极大地降低了工作效率。究其根源,是这些应用直接运行在底层操作系统上,无法保证同一份应用在不同的环境中行为一致。
  • 而Docker提供了一种更为聪明的方式,通过容器来打包应用,解耦应用和运行平台。意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否是同一类型的平台。这无疑将节约大量的宝贵时间,并降低部署过程出现问题的风险。

2,Docker在kai发和运维中的优势:

  • 更快速的交付和部署:使用Docker,kai发人员可以使用镜像来快速构建一套标准的kai发环境;kai发完成之后,测试和运维人员可以直接使用完全相同环境来部署dai码。只要kai发测试过的dai码,就可以确保在生产环境无缝运行。Docker可以快速创建和删除容器,实现快速迭dai,大量节约kai发、测试、部署的时间。并且,整个过程全程可见,使团队更容易理解应用的创建和工作过程。
  • 更高效的资源利用:Docker容器的运行不需要额外的虚拟化管理程序(VirtualMachineManager,VMM,以及Hypervisor)支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。跟传统虚拟机方式相比,要提高一到两个数量级。
  • 更轻松的迁移和扩展:Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等,同时支持主流的操作系统发行版本。这种兼容性让用户可以在不同平台之间轻松地迁移应用。
  • 更简单的更新管理:使用Dockerfile,只需要小小的配置修改,就可以替dai以往大量的更新工作。并且所有修改都以增量的方式被分发和更新,从而实现自动化并且高效的容器管理。

3,Docker与虚拟机比较:

  • 作为一种轻量级的虚拟化方式,Docker在运行应用上与传统的虚拟机方式相比具有显著优势
    Docker容器很快,启动和停止可以在秒级实现,而传统的虚拟机方式需要数分钟。
    Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器(在IBM服务器上已经实现了同时运行10K量级的容器实例)。
    Docker通过类似Git设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新。
    Docker通过Dockerfile支持灵活的自动化创建和部署机制,提高工作效率,使流程标准化。
    Docker容器除了运行其中应用外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统kai销。传统虚拟机方式运行N个不同的应用就要起N个虚拟机(每个虚拟机需要单独分配独占的内存、磁盘等资源),而Docker只需要启动N个隔离的“很薄的”容器,并将应用放进容器内即可。应用获得的是接近原生的运行性能。
    当然,在隔离性方面,传统的虚拟机方式提供的是相对封闭的隔离。但这并不意味着Docker就不安全,Docker利用Linux系统上的多种防护技术实现了严格的隔离可靠性,并且可以整合众多安全工具。从1.3.0版本kai始,Docker重点改善了容器的安全控制和镜像的安全机制,极大提高了使用Docker的安全性。在已知的大规模应用中,目前尚未出现值得担忧的安全隐患。

Docker容器技术与传统虚拟机技术的特性比较
docker概述&花式安装

  • Docker虚拟化方式之所以有众多优势,这与操作系统虚拟化技术自身的设计和实现是分不开的。
    docker概述&花式安装
  • 传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。

docker安装:

docker官网:https://www.docker.com/
docker官方文档:https://docs.docker.com/

  • Docker值得关注的特性:
    文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
    资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
    日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
    变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
    交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上

在安装docker之前,再说一点,docker现在有两个版本,一个叫做docker-EE企业版,收费的一个叫docker-CE社区版,免费版,其实两个版本并没有太大的偏差,不一样的是docker公司会提供后续的官方的技术支持等服务,对于我们来说,肯定用社区办的多,我们拿来学习社区办更是可以的。

安装docker内核版本要求:3.10及以上
如果是centos6版本,因为centos6默认的内核版本是2.6,想要安装docker,可以升级内核。

docker概述&花式安装

docker概述&花式安装

docker概述&花式安装
docker概述&花式安装
docker概述&花式安装
docker概述&花式安装
docker概述&花式安装
docker概述&花式安装

(1)官方安装:(我们是测试环境,所以安装的是ce)

[root@sqm-docker01 yum.repos.d]# pwd
/etc/yum.repos.d

[root@sqm-docker01 yum.repos.d]# vim dockerce.repo
[dockerce] //仓库类别
name=dockerce //仓库名称(说明)
baseurl=https://download.docker.com/linux/centos/7/x86_64/stable/ //URL访问路径
enabled=1 //启用此软件仓库
gpgcheck=0 //验证(检查)软件包的签名,0表示不检查,1表示检查

[root@sqm-docker01 yum.repos.d]# yum repolist
//查看已配置的yum仓库
docker概述&花式安装

//安装docekr-ce
[root@sqm-docker01 yum.repos.d]# yum -y install docker-ce

##或者直接下载docker-ce.repo文件:
[root@k8s-master ~]# cd /etc/yum.repos.d/
[root@k8s-master yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@k8s-master yum.repos.d]# yum repolist
[root@k8s-master yum.repos.d]# yum -y install docker-ce
[root@k8s-master yum.repos.d]# docker –v

(2)国内阿里yun源下载docker-ce:
(1)可以编写自定义yum仓库

阿里巴巴开源镜像站:https://opsx.alibaba.com/mirror
#找到docker-ce
docker概述&花式安装

docker概述&花式安装

URL:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/

yum仓库内容:
docker概述&花式安装

(2)或者直接下载阿里的repo源:
docker概述&花式安装

将该文件使用wget工具下载到本地:

[root@sqm-docker01 yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看docker-ce的可用版本:

[root@sqm-docker01 yum.repos.d]# yum install -y docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.0-3.el7
docker概述&花式安装

下载指定版本:
[root@sqm-docker01 yum.repos.d]# yum install -y docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.0-3.el7

  • 以上三个安装包分别是:
  • 安装社区版
  • 提供docker客户端
  • 提供运行环境

安装完启动docker,并加入开机自启:

[root@sqm-docker01 yum.repos.d]# systemctl start docker
[root@sqm-docker01 yum.repos.d]# systemctl enable docker

查看docker的运行进程:
docker概述&花式安装

安装后的优化操作:

(1)Docker命令自动补全(最小化安装的系统需要安装,如果是安装的图形化则默认自带命令补全)

[root@docker01 ~]# yum -y install bash-completion
[root@docker01 ~]# curl -L https://raw.githubusercontent.com/docker/compose/1.24.1/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
[root@docker01 ~]# source /etc/bash_completion.d/docker-compose

(2)docker配置加速器:
道云加速器网址:https://www.daocloud.io/
docker概述&花式安装
登录之后会有一个火箭的图标,点击它。

docker概述&花式安装

docker概述&花式安装

根据提示重启docker服务:
[root@sunqiuming-1 ~]# systemctl daemon-reload #需要重新加载守护进程
[root@sunqiuming-1 ~]# systemctl restart docker

docker概述&花式安装

在完成加速器的操作之后,我们会发现/etc/多了一个文件。

[root@sunqiuming-1 ~]# cat /etc/docker/daemon.json 
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}

####也就是说,刚才的那句话,就是为了实现这个文件,添加这个网址,其实这个网址那,也是可以更改的,加速器也不只是道云一家,还有一家公司,也提供加速器服务,就是大名鼎鼎的阿里云

阿里云官网:https://www.aliyun.com/
docker概述&花式安装

docker概述&花式安装

也可以更改成这个网址,当然如果你更改之后,还需要执行reload命令,重新加载一下配置文件。

[root@sunqiuming-1 ~]# systemctl daemon-reload 
[root@sunqiuming-1 ~]# systemctl restart docker

以上基本就是docker部署安装及优化的全部内容。

———————— 本文至此结束,感谢阅读 ————————

相关内容

热门资讯

今日重大发现“胡一把麻将到底有... 有 亲,根据资深记者爆料胡一把麻将是可以开挂的,确实有挂(咨询软件无需打...
腾冲深部构造活动云南省野外科学... 2025年12月24日,腾冲深部构造活动云南省野外科学观测研究站获得云南省科技厅批准。 依托云南省地...
最新引进“乐山游戏中心怎么开挂... 最新引进“乐山游戏中心怎么开挂?”(果然有透视挂)您好,乐山游戏中心这个游戏其实有挂的,确实是有挂的...
微短剧精品创作分享会暨微短剧《... 来源:滚动播报 (来源:文旅中国) 12月27日,微短剧精品创作分享会暨微短剧《“发”家致富》启动仪...
今日重磅消息“微信链接牛牛真的... 网上科普关于“微信链接牛牛有没有挂”话题很是火热,小编也是针对微信链接牛牛作*弊开挂的方法以及开挂对...
【今日要闻】“决战血流麻将究竟... 网上科普关于“决战血流麻将有没有挂”话题很是火热,小编也是针对决战血流麻将作*弊开挂的方法以及开挂对...
【第一资讯】“腾威互娱究竟有挂... 【第一资讯】“腾威互娱究竟有挂吗?”(太坑了果然有挂)您好,腾威互娱这个游戏其实有挂的,确实是有挂的...
我来教教您“微竞斗地主怎么开挂... 家人们!今天小编来为大家解答微竞斗地主透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
最新引进“新众亿炸/金/花怎么... 网上科普关于“新众亿炸/金/花有没有挂”话题很是火热,小编也是针对新众亿炸/金/花作*弊开挂的方法以...
终于了解“三三麻将真的有挂吗?... 终于了解“三三麻将真的有挂吗?”(原来真的有挂)您好,三三麻将这个游戏其实有挂的,确实是有挂的,需要...