开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源是在linux容器里运行应用的开源工具是一种轻量级的“虚拟机”docker的容器奇数可以在一台主机上轻松为任何应用创建一个轻量级,可移植的,自给自足的容器。
摈弃底层环境差异,更好管理微服务
docker是一个可以运行容器应用的开源工具,容器引擎只能在linux环境中运行,任何平台运行。玉兴容器里的应用。docker时用来管理容器和镜像的一种工具。容器引擎 docker,rocket,podman,containerd
容器越来越受欢迎,因为容器是:
灵活,即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核
可互换:可以即时部署更新和升级
便携式:可以在本地构建,部署到云,并在任何地方运行。
可扩展性:可以增加并自动分发容器副本
可堆叠:可垂直和即时堆叠服务
hypervisor虚拟机管理程序
docker与虚拟机区别:
特性 docer容器 虚拟机
启动速度 秒级 分钟级
计算能力损耗 几乎无 损耗50%左右
性能 接近原生 弱于
隔离支持量(单机)上千个 几十个
隔离性 资源隔离/限制 完全隔离
docker主要技术
docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过egroup实验资源限制,通过写时复制技术实现了高效的文件操作(类似虚拟机的磁盘比如分配500G并不是实际占用物理磁盘500G,只有当)
容器与虚拟机区别
容器
所有容器共享宿主机内核
使用namespace隔离资源,使用cgroup限制资源的最大使用量
秒级启动速度
容器相当于宿主机的进程性能几乎没有损耗
虚拟机
每个虚拟机都有独立的操作系统和内核
完全隔离,每个虚拟机都有独立的硬件资源
分钟及启动速度
需要hyoervisor虚拟机管理程序对主机资源虚拟访问,至少有20~50%资源损耗
一台主机能够支持成千上百个容器
Docker核心概念:
镜像:docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件docckr镜像也是一个压缩包,只是这个小第包不只是执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。
容器:Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等) 和运行在其中的应用程序。
仓库:Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有食库(public) 或者私有仓库 (Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。
docker的镜像,容器,日志等内容全部默认存储在/var/lib/docker
跨主机导出镜像
docker save -o nginx-1.14.tar nginx:1.14
docker load -i nginx-1.14.tar 导入 或者
docker load < nginx-1.14.tar
docker tag nginx:1.14 soscscs/nginx:标签名
上传操作
docker镜像操纵
docker search 镜像关键词
pull 仓库/镜像名:标签 #如不指定标签则默认latest
images
rmi 仓库/镜像名:标签 或 镜像id
tag 旧镜像名:标签 新镜像名:标签
inspect 镜像id 查看详细信息
save -o 镜像文件 镜像名:标签
load -i 或< 镜像文件
login 默认登录只有仓库
push 仓库/镜像名:标签
容器的管理操作
docker create 镜像
-g deamon off 前台启动
登录到容器
docker exec -it abc7adadd1fd(容器id号) bash或则sh
导出容器的配置文件 docker cp 容器id号:/etc/nginx/nginx.conf /opt
复制到容器内
echo abc123 > abc123.txt 复制到容器的opt内
docker cp abc123.txt 容器id:/opt
docker exec -it 容器id bash
docker ps -a显示所有容器的状态
docker ps -a
docker ps 正在运行的容器
docker 容器操作
创建容器
docker create 【--name 容器名】 -it 镜像id:标签 【容器启动命令】
启动容器
docker start 容器名/容器id
停止容器 stop 容器名/容器id
删除容器 rm 容器名/容器id
产看详细信息 inspect 容器名/容器id
登录容器 exec -it 容器名/容器id bash/sh
复制到容器内 cp 容器ID:文件绝对路径 宿主机目录/文件
从容器内复制文件 cp 宿主机文件 容器ID:目录/文件绝对路径
stop 30s 优雅关闭 kill -15
kill 立即关闭 kill -9
关闭容器唯一进程
概念总结
docker是什么
docker是一个可以运行容器应用的开源工具,容器引擎只能在linux环境中运行,任何平台运行。玉兴容器里的应用。docker时用来管理容器和镜像的一种工具。容器引擎 docker,rocket,podman,containerd
容器与虚拟机区别
容器
所有容器共享宿主机内核
使用namespace隔离资源,使用cgroup限制资源的最大使用量
秒级启动速度
容器相当于宿主机的进程性能几乎没有损耗
虚拟机
每个虚拟机都有独立的操作系统和内核
完全隔离,每个虚拟机都有独立的硬件资源
分钟及启动速度
需要hyoervisor虚拟机管理程序对主机资源虚拟访问,至少有20~50%资源损耗
一台主机能够支持成千上百个容器
改完后要打包成新的镜像,只读的模板文件
docker三个核心概念
镜像就是一个只读的模板文件,里面包括容器里的医用程序所需要的所有内容(包括程序代码文件,配置文件,运行环境,库文件等)
容器是用镜像运行的实例,容器可以被创建,启动,停止,删除,每个容器默认是相互资源隔离的
仓库是用来保存镜像的地方,有公有仓库和私有仓库之
docker daemon 管理镜像容器,从仓库拉去镜像运行容器
docker的镜像管理
docker search 关键词(nginx)(默认公有仓库)
里面有stars推荐值
拉去镜像 docker pull 仓库名称 [:标签]
docker pull nginx:1.14不指定标签默认下载最新latest
docker images 镜像信息
到此这篇docker引擎发展的几种模型结构(docker引擎有哪些构成)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/40899.html