docker概述&花式安装

docker概述:

什么是Docker?linux

  • 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源项目git

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

docker概述&花式安装

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

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

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

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

3,Docker与虚拟机比较:shell

  • 做为一种轻量级的虚拟化方式,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/json

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

在安装docker以前,再说一点,docker如今有两个版本,一个叫作docker-EE企业版,收费的一个叫docker-CE社区版,免费版,其实两个版本并无太大的误差,不同的是docker公司会提供后续的官方的技术支持等服务,对于咱们来讲,确定用社区办的多,咱们拿来学习社区办更是能够的。vim

安装docker内核版本要求:3.10及以上
若是是centos6版本,由于centos6默认的内核版本是2.6,想要安装docker,能够升级内核。centos

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

(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部署安装及优化的所有内容。

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

相关文章
相关标签/搜索