什么是容器?
通俗的讲,容器就是一个操作系统的最小镜像,在容器上面可以运行应用程序(可以认为是轻量级的虚拟机),但是这玩意和虚拟机的实现原理不一样。
虚拟机:传统的虚拟机需要模拟一整台设备,包含硬件,而且每台虚拟机都必须有自己的操作系统,虚拟机一经被启动,预分派给他的资源就会全数被占用。每一台虚拟机都包含应用,必需的二进制和库,还有一套完善的用户操作系统。
容器:容器就是和宿主设备共享硬件资源和操作系统,可以实现资源的动态分配。容器中包含应用以及其所有的依赖包,但是与其他独立的容器共用系统内核。容器在宿主机的操作系统中,在用户空间以分开的进程运行。
现在最常用的容器就是Docker,还有podman、rocket等等
Docker是什么?
是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机"
Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。
Docker的设计宗旨
通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的 “一次封装,到处运行” 的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。
Docker与虚拟机的区别
Docker的特点
灵活:即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核。
可互换:可以即时部署更新和升级。
便携式:可以在本地构建,部署到云,并在任何地方运行。
可扩展:可以增加并自动分发容器副本。
可堆叠:可以垂直和即时堆叠服务。
Docker三要素(核心概念)
镜像:Docker的镜像是创建容器的根本,就如同虚拟机的快照,可理解为一种面向Docker容器引擎的只读模块使用镜像启动了一个容器,一个镜像就是一个可实现的包,里面涵盖了运行应用时所必须的全部内容,包括代码、实现时间、库环境变量、以及配置文件。
容器:Docker的容器是由镜像创建的一种运行实例,该实例能够被启用、终止或者移除。所创建的每一种容器都是彼此分离、互不可见的,从而保证了平台的安全。因此我们可以将容器当作一种提供简易版的linux平台(包括root用户权限、镜像空间、用户空间和网络空间等)和安装、运行于其中的程序、应用。
仓库:Docker仓库是一个能够聚集储存镜像的地方,当我们在创建了自己的镜像后,可以使用push命令把它推送给公有仓库或是私有仓库。当下次要在另一个主机上再次使用这些镜像时,就只需要在仓库下载即可。
Docker运行过程
Docker的应用场景
Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS(平台即服务)环境。
docker的部署
#关闭防火墙和SELINUX
systemctl stop firewalld && setenforce 0
#安装docker依赖
yum install -y yum-utils lvm2 device-mapper-persistent
#下载docker的安装源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker
yum install -y docker-ce
#启动docker
systemctl start docker && systemctl enable docker
#查看docker版本
docker version
#docker信息查看
docker info
docker镜像加速
1.百度搜索阿里云,找到官网
2.登录,没有账号就注册一个
3.搜索镜像加速
4.按照提示操作即可