目
一 Docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵从 Apache2.0 协议,是一个用于开发,交付和运行应用程序的开放平台。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。注:沙箱(Sandbox):在计算机安全领域,沙箱是一种程序的隔离运行机制
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。
二 Docker的应用场景
打包应用程序从而简化部署过程
可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦)
持续集成和持续交付(CI/CD):开发到测试发布
部署微服务
提供PAAS产品(平台即服务)
三 Docker的核心概念
三大核心组件
镜像(模板)
一个面向Docker容器引擎的只读模板(简而言之,就是将一个服务已经部署完毕的环境打包)
容器(运行时环境)
根据镜像创建的运行实例(即虚拟机)
仓库
集中保存镜像的地方(分为公有仓库和私有仓库,公有仓库就是Docker官方仓库)
四 Docker的安装方法
1 官网下载
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
2.使用YUM仓库安装Docker
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-utils提供了yum-config-manager
device mapper存储驱动程序需要device-mapper-persistent-data和Ivm2
Device Mapper是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了-个高度模块化的内核架构.
设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker-CE
systemctl stop firewalld.service
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service
部分docker命令
docker images # 查看docker镜像
docker run hello-world # 运行hello-world 镜像来验证 Docker 引擎是否已正确安装
docker version # 查看docker版本
docker info #docker 信息
包含了CS架构的信息
docker search nginx # 搜索相关镜像
docker pull nginx # 下载相关镜像
镜像加速
使用阿里的容器镜像加速器
五 小结
利用容器化技术,相比较于传统的虚拟化技术,无论在存储占用、可移植性、硬件亲和性及部署速度上,都领先很多身位。