Docker安装
- 什么是Docker
-
- 小结:
- Docker的使用场景
- Docker引擎(Docker Engine )
- Docker核心概念
-
- 镜像
- 容器
- 仓库
- Docker容易和VM虚拟机的区别
- Docker的安装
-
- 安装依赖包
- 设置阿里云镜像源
- 安装Docker引擎,关闭防火墙增强型服务并启动Docker
- 镜像加速和网络优化
- 安装完成验证版本信息
- 重点:
什么是Docker
- Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件
Docker是一种轻量级的“虚拟机”,是在linux容器里允许应用的开源工具,是一个开源的应用容器引擎,让开发者可以打包方式封装应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或者windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制(隔离机制),相互之间不会有任何接口
沙箱(Sandbox):在计算机安全领域,沙箱是一种程序的隔离运行机制
Docker在2013年一炮而红,直到现在,已经成为容器技术的代名词。
Docker从一开始就以提供标准化的运行时环境为目标,真正做到"build once,run
anywhere",可以将同一个构建版本用于开发、测试、预发布、生产等任何环境,并且做到了与底层操作系统的解耦。在此基础上还进一步发展出了Caas(容器即服务〉技术。
docker是× s容器引擎,把linux的cgroup、namespaces等容器底层技术进行完美的封装、并抽象为用户提供创建和管理容器的便捷界面(命令行、api等)
Docker的使用场景 war jar ----> github gitlab 私有仓库(代码仓库)---->jenkins (应用程序封装/构建镜像?打包应用程序简单部著
可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦),例如:服务器从腾讯云迁移到阿里持续集成和持续交付(cI/CD) :开发到测试发布
部署微服务
提供PAAs产品(平台即服务){OpenStack的云主机类似于阿里云的ECS,属于IAAS、Docker (K8S)属于PAAS)
Docker引擎(Docker Engine ) Docker Engine是具有以下主要组件的客户端-服务器应用程序:
服务器是一种长期运行的程序,称为守护程序进程( dockerd命令)。
REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口。命令行界面(CLI)客户端( docker命令)。
Docker核心概念 镜像 一组资源的集合,包含了应用程序软件包、应用程序相关的依赖包、运行应用程序所需要的基础环境
容器 基于镜像的一种运行时状态
仓库 存放image镜像、仓库大类(公告仓库docker hub、私有仓库registry harbor)
Docker容易和VM虚拟机的区别
区别 | Docker容易 | VM虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
运行性能 | 接近原生 | 弱于原生 |
磁盘占数 | MB | GB |
数量 | 上千个 | 几十个 |
隔离性 | 进程级别,资源限制\隔离 | 系统级别,完全隔离 |
操作系统 | 主要支持linux | 几乎所有 |
封装程度 | 只打包项目代码和依赖关系,共享宿主机内核 | 完整的操作系统,与宿主机隔离 |
计算能力损耗 | 几乎无 | 50%左右 |
#yum-utils提供了yum-config-manager,device mapper存储驱动程序需要device-mapper-persistent-data和 lvm2#Device Mapper是 Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。yum install -y yum-utils device-mapper-persistent-data lvm2
文章图片
设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
文章图片
安装Docker引擎,关闭防火墙增强型服务并启动Docker
#清空缓存
yum makecache fast
yum install -y docker-cesystemctl stop firewalld
setenforce 0vim /etc/selinux/config
SELINUX=disabledsystemctl start docker.service
systemctl enable docker.service
systemctl status dockersystemctl enable docker
systemctl start docker
文章图片
文章图片
镜像加速和网络优化
#网络优化
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
systemctlrestart network
文章图片
#镜像加速
#阿里云控制台搜索容器镜像加速服务左侧下拉镜像服务中申请加速地址
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["镜像加速地址"]
}
EOF
systemctl daemon-reload
systemctl restart docker
文章图片
文章图片
安装完成验证版本信息
docker version
【Docker容器——安装】
文章图片
重点:
- Docker的优势,和VM虚拟机的区别?
- 容器的状态
推荐阅读
- docker|docker删除镜像和容器
- k8s|容器这么傲娇,全靠 K8S 撑腰
- 「云原生的进阶之路」|【Docker 那些事儿】容器为什么傲娇(全靠镜像撑腰)
- kubernetes|Kubernetes快速实战与核心原理剖析
- Docker|微服务Docker部署jar包
- splunk-k8s|(已经解决)splunk k8s amin 密码不能登入
- 高效运维|【Kubernetes系列】Kubernetes管理工具Kuboard的安装使用
- 云原生核心技术详解|Docker在Win10系统快速安装Redis【云原生Docker】
- docker和docker compose安装使用入门进阶案例