周排名
Docker入门到实践 (一) docker简介与安装
零碎
de
記憶
641
收藏
5
分类专栏:
Docker
入门到实践
2019-11-07 12:06:18
版权
文章目录
一、docker 介绍
二、docker 优点
1、更快速的应用交付和部署
2、更便捷的升级和扩缩容
3、更简单的系统运维
4、更高效的利用系统资源
三、Docker 架构
1、Docker Client (docker 客户端)
2、Docker Host (docker 宿主机)
2.1、Docker daemon (Docker 守护进程)
2.2、Images (镜像)
2.3、Containers (容器)
3、Registry (仓库服务注册器)
四、Docker VS VMware
五、CentOS7操作系统安装Docker CE (社区版)
1、查看操作系统版本是否是CentOS7及以上
2、查看CentOS7的内核版本,Docker要求CentOS7系统必须为64位,且系统内核版本为3.10及以上
3、卸载旧版本 (如果之前没有安装过旧版本的docker 可以跳过)
4、安装docker所需的软件包
5、设置yum源为阿里云 (由于国外网站访问速度慢)
6、更新yum软件包索引
7、安装docker CE(社区版),Docker提供了两个版本:社区版(CE,免费) 和 企业版(EE,收费)
8、启动docker,并加入到开机启动
9、查看docker是否安装成功
10、设置阿里云镜像加速器 (外国网站下载镜像速度慢)
11、重新加载daemon.json配置文件 并 重启docker服务
12、查看阿里云镜像加速器是否配置成功
一、docker 介绍
Docker
是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的
Linux
或
Windows
机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
开发人员利用
Docker
可以消除协作编码时
“
在我的机器上可正常运作,而在你的机器上不能正常运作
”
的问题。运维人员利用
Docker
可以
在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用
Docker
可以构建敏捷的软件交付管道,以更快的速度、更高的安全
性和可靠的信誉为
Linux
和
Windows Server
应用发布新功能。
二、docker 优点
1、更快速的应用交付和部署
传统的应用开发完成后,需要提供一堆安装程序和配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运
行。
Docker
化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省
部署配置和测试验证时间。
2、更便捷的升级和扩缩容
随着微服务架构和
Docker
的发展,大量的应用会通过微服务方式架构,应用的开发构建将变成搭乐高积木一样,每个
Docker
容器将变
成一块
“
积木
”
,应用的升级将变得非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速扩容,使应用系统
的扩容从原先的天级变成分钟级甚至秒级。
3、更简单的系统运维
应用容器化运行后,生产环境运行的应用可与开发、测试环境的应用高度一致,容器会将应用程序相关的环境和状态完全封装起来,不
会因为底层基础架构和操作系统的不一致性给应用带来影响,产生新的
BUG
。当出现程序异常时,也可以通过测试环境的相同容器进行
快速定位和修复。
4、更高效的利用系统资源
Docker
是内核级虚拟化,其不像传统的虚拟化技术一样需要额外的
Hypervisor
支持,所以在一台物理机上可以运行很多个容器实例,可
大大提升物理服务器的
CPU
和内存的利用率。
三、Docker 架构
Docker
使用
C/S
架构,
Client
通过接口与
Server
进程通信实现容器的构建,运行和发布,如图:
1、Docker Client (docker 客户端)
Docker
命令行工具,用户通过
Docker Clients
与
Docker daemon
进行通信,利用命令行发送创建镜像、运行容器之类的请求。
2、Docker Host (docker 宿主机)
安装了
Docker
程序,并运行了
Docker daemon
的主机。其中
Docker Host
包含如下三部分:
2.1、Docker daemon (Docker 守护进程)
运行在宿主机上,
Docker
守护进程,用户通过
Docker client(Docker
命令
)
与
Docker daemon
交互。
2.2、Images (镜像)
将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器。
2.3、Containers (容器)
Docker
的运行组件,启动一个镜像就是一个容器,容器与容器之间相互隔离,并且互不影响。
3、Registry (仓库服务注册器)
经常会和仓库
(Repository)
混为一谈,实际上
Registry
上可以有多个仓库,每个仓库可以看成是一个用户,
一个用户的仓库放了多个镜
像。仓库分为了公开仓库
(Public Repository)
和私有仓库
(Private Repository)
,最大的公开仓库是官方的
Docker Hub
,国内也有如阿里
云、时速云等,可以给国内用户提供稳定快速的服务。用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以
使用
push
命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上
pull
下来就可以了。
四、Docker VS VMware
VM
是一个运行在宿主机之上的完整的操作系统,
VM
运行自身操作系统会占用较多的
CPU
、内存、硬盘资源。
Docker
不同于
VM
,只包
含应用程序以及依赖库,基于
libcontainer
运行在宿主机上,并处于一个隔离的环境中,这使得
Docker
更加轻量高效,启动容器只需几秒
钟之内完成。由于
Docker
轻量、资源占用少,使得
Docker
可以轻易的应用到构建标准化的应用中。
五、CentOS7操作系统安装Docker CE (社区版)
官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1、查看操作系统版本是否是CentOS7及以上
2、查看CentOS7的内核版本,Docker要求CentOS7系统必须为64位,且系统内核版本为3.10及
以上
可以看到CentOS7的操作系统为x86_64(64位),系统内核版本为3.10.0
提示:以下步骤请以 root
用户
运行指令,如果不是以root用户运行,请在指令的最前面加上 sudo ,表示以系统管理者(root) 的身份执行
指令
3、卸载旧版本 (如果之前没有安装过旧版本的docker 可以跳过)
4、安装docker所需的软件包
5、设置yum源为阿里云 (由于国外网站访问速度慢)
6、更新yum软件包索引
7、安装docker CE(社区版),Docker提供了两个版本:社区版(CE,免费) 和 企业版(EE,收费)
8、启动docker,并加入到开机启动
9、查看docker是否安装成功
出现Client 和 Service两部分信息,则表示docker启动和安装都成功
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate
docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//
启动
docker
systemctl start docker
//
设置
docker
开机启动
systemctl enable docker