docker基础-安装-加速器设置

容器定义

# 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。
# 容器是应用程序层的抽象,它将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为孤立进程运行。容器占用的空间少于虚拟机(容器映像的大小通常为几十MB),并且几乎立即启动。

Docker简介

# Docker 是 dotcloud 公司开源的一款产品 dotcloud 是 2010 年新成立的一家公司,主要基于 PAAS ( Platfrom as a Service ) 平台为开发者提供服务,2013 年 10 月 dotcloud 公司改名为 Docker 股份有限公司
# Linux Container  是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源
# Docker  是  PAAS  提供商 dotCloud  开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于 go 语言并遵从 Apache2.0 协议开源
# Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

#Docker 是将应用运行在Docker 容器上面,而 DOcker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器、只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作
# Docker 镜像的设计,是的Docker得以打破过去 [ 程序即应用 ] 的观念。透过镜像将作业系统核心除外,运行应用程序所需要的系统环境,由上而下打包,达到应用程序跨平台间的无缝接轨运作。
# Docker 解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟技术( 软件即容器 )
# 官网:https://www.docker.com/
# 仓库:https://hub.docker.com/

Docker容器虚拟化与传统虚拟机比较

# 相同
	# 容器和虚拟机具有相似的资源隔离和分配优势
# 不同
	# 容器虚拟化的是操作系统,虚拟机虚拟化的是硬件
	# 传统虚拟机可以运行不同的操作系统,容器只能运行同一类操作系统
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近宿主机 弱于宿主机
系统支持量 单机支持上千个容器 一般几十个

Docker 的优势

# 轻量、秒级的快速启动速度
# 简单、易用、活跃的社区
# 标准统一的打包、部署、运行方案
# 镜像支持增量发布,易于部署
# 易于构建,良好的 REST API,也很适合自动化测试和持续集成
# 性能,尤其是内存和IO的开销

Docker三大要素

1、镜像(lmage)

# Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2、容器(container)

# 容器是从镜像创建的运行实例
# 容器可以被启动、开始、停止、删除,每个容器之间都是相互隔离的,保证平台的安全
# 可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

3、仓库(repository)

# 仓库(Repository)是集中存放镜像文件的场所。
# 仓库(Repository)和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
# 仓库分为公开仓库(Public)和私有仓库(Private)两种形式
# Docker仓库用来保存我们的images,当我们创建了自己的image之后我们就可以使用push命令将它上传到公有或者私有仓库,这样下次要在另外一台机器上使用这个image时候,只需要从仓库上pull下来即可

Docker 底层原理

# Docker 是怎么工作的
	Docker 是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket 连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境。
# 为什么 Docker比 VM 块
	docker 有着比虚拟机更少的抽象层。由于docker不需要Hypervisor 实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
	docker 利用的是宿主机的内核,而不需要 Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。扔而避免引导、加载操作系统返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载 Guest OS,返个新建过程是分钟级别的。而 docker 是由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个 docker 容器至需要几秒钟。

Docker安装

1、安装分类

# docker-ce 社区免费版
# docker-ee 企业收费版
# Script、Yum、Rpm安装
1)Script Install
	$ yum update
	$ curl -sSL https://get.docker.com/ | sh
	$ systemctl start docker
	$ systemctl enable docker
	$ docker run hello-world
2)Yum Install
	$ yum update
	$ cat >/etc/yum.repos.d/docker.repo <<-EOF
		[dockerrepo]
		name=Docker Repository
		baseurl=https://yum.dockerproject.org/repo/main/centos/7 
		enabled=1 
		gpgcheck=1 
		gpgkey=https://yum.dockerproject.org/gpg EOF
	$ yum install docker
3)Rpm Install
	$ https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

2、上传准备好的安装包进行安装

$ yum -y install docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

3、重启操作系统

# 查看防火墙是否打开以及关闭selinux
$ iptables -L
$ iptables -F
$ service iptables save
$ getenforce
# docker想要进行网络通信必须要进入防火墙,它们之间要互相调用。如果不进行重载,它们之间的联合度比较低。
$ systemctl enable docker # 加入开机自启
$ reboot

4、查看docker运行状态

$ systemctl status docker

5、测试docker 是否可用

$ docker run hello-world

Docker加速器配置

1、配置加速器

1)阿里云镜像加速
	$ https://dev.aliyun.com/search.html
	# 阿里云镜像加速网址,获取个人专属加速地址
	$ vim /etc/docker/daemon.json
	添加以下信息
	{
  	"registry-mirrors": ["https://kfp63jaj.mirror.aliyuncs.com "]
	}
2)Daocloud镜像加速
	$ https://www.daocloud.io/mirror#accelerator-doc # Daocloud镜像加速网址
	$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
	# 该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 
	

2、重启docker

$ systemctl restart docker
$ systemctl daemon-reload

3、检查加速是否配置成功

$ docker info

posted @ 2020-05-06 09:13  候你已久  阅读(156)  评论(0)    收藏  举报