一、Docker的概念

1、云计算三层架构

服务

说明

应用

IAAS

基础设施及服务

硬件(服务器、网络设置、防火墙等)虚拟化

网络虚拟化(大二层)

例:openstack

PAAS

平台及服务

环境

例:数据库、 docker 、kubernetes

SAAS

应用及服务

应用

例:应用商店的应用

而Docker就是PAAS中的技术。

2、Docker是什么

Docker是一种轻量级的“虚拟机”,是一个开源的应用容器引擎。容器是完全使用沙箱机制,相互之间不会有任何接口

· 轻量级表示它体积小,灵活
· 而说它是虚拟机,又不是真正的虚拟机,因为它里面没有系统
· 开源表示它是免费的

3、Docker和虚拟机的区别

docker把容器化技术做成了标准化平台(docker统一/指定了容器化技术的标准化平台)

使用docker有什么意义
· docker引擎统一了基础设施环境-docker环境—》image —》封装一个简易的操作系统
· docker引擎统一了程序打包(装箱)方式-docker镜像—》images
· docker引擎统一了程序部署(运行)方式-docker 容器——》基于镜像——》运行为容器(可运行的环境)

要求:内核在3.8以上(排除了centos6)
docker 1.30版本迭代docker-ce docker-ee 1.7版本因为企业版和社区版

特性

Docker容器

虚拟机

启动速度

秒级

分钟级

计算能力损耗

几乎无

损耗50%左右

性能

接近原生

弱于

系统支持量(单机)

上千个

几十个

隔离性

资源隔离/限制

完全隔离

4、使用场景

应用程序(封装/构建镜像)——》运维下载,使用容器技术进行运行/发布
· 打包应用程序简单部署
· 可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦),例如:服务器从腾讯云迁移到阿里云
· 持续集成和持续交付(cI/CD) :开发到测试发布
· 部署微服务
· 提供PAAs产品(平台即服务){OpenStack的云主机类似于阿里云的ECS,属于IAAS、Docker (KBS)属于PAAS}

5、Docker的核心概念(重点)

镜像

· 一个面向Docker容器引擎的只读模板(简而言之,就是将一个服务已经部署完毕的环境打包)

容器

· 根据镜像创建的运行实例(即虚拟机)

仓库

· 集中保存镜像的地方(分为公有仓库和私有仓库,公有仓库就是Docker官方仓库)

二、Docker相关命令

安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-utils提供了yum-config-manager
device mapper存储驱动程序需要device-mapper-persistent-data和lvm2
Device Mapper 是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。

docker load之后出现权限问题 docker load -i 报错_Docker

设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

docker load之后出现权限问题 docker load -i 报错_docker load之后出现权限问题_02

安装Docker-CE

yum install -y docker-ce
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
systemctl start docker.service 
systemctl enable docker.service

docker load之后出现权限问题 docker load -i 报错_Docker_03


docker load之后出现权限问题 docker load -i 报错_docker_04


docker load之后出现权限问题 docker load -i 报错_Docker_05

docker load之后出现权限问题 docker load -i 报错_Docker_06

镜像加速

docker load之后出现权限问题 docker load -i 报错_docker load之后出现权限问题_07

docker load之后出现权限问题 docker load -i 报错_docker load之后出现权限问题_08

systemctl daemon-reload 
systemctl restart docker

docker load之后出现权限问题 docker load -i 报错_docker load之后出现权限问题_09

网络优化

vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
service network restart
systemctl restart docker

docker load之后出现权限问题 docker load -i 报错_Docker_10


docker load之后出现权限问题 docker load -i 报错_docker_11

总结(报错):

docker load之后出现权限问题 docker load -i 报错_基础设施_12

解决办法:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install docker-ce