博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker基础
阅读量:5752 次
发布时间:2019-06-18

本文共 1217 字,大约阅读时间需要 4 分钟。

docker是一个开源的应用容器引擎,使用go语言开发;

基于linux内核技术对应用程序进行隔离;

核心理念是将应用及依赖包打包到一个可移植的容器中;
可发布到任意linux发行版的docker引擎上;
使用沙箱机制运行程序:
(应用程序只能访问自己的目录,这个目录称为沙箱目录,而应用程序之间禁止数据的共享和访问; 沙箱机制是一种安全机制,设计原理就是只能允许自己的应用访问目录,而不允许其他的应用访问;
在iOS系统中,除了特有的应用可以通过使用特定的API共享数据(例如联系人),而其他的应用之间都不能共享数据。)

Docker体系结构:

docker基础

  1. Engine:处理docker客户端的请求,并进行相关的分发,下载镜像--image repository--;

  2. runC:挂载文件系统并启动容器;

  3. docker ps -q 显示运行容器的id;

Docker工作过程:

docker基础

虚拟机与容器的区别:

启动时间不同

虚拟机分钟级,docker秒级
轻量级
docker以M为单位,虚拟机以G为单位
性能
docker更快速
安全性:
不如虚拟机,一定程度上需要访问物理机内核;如何解决?
使用要求
结合实际环境;docker适合快速部署等

  • 场景一:节省项目环境部署时间

    1.单项目打包
    2.整套项目打包
    利用docker-compose
    3.新开源技术试用

  • 场景二:环境的一致性

    便于移植,多次利用部署,保持运行状态一致性;

  • 场景三:持续集成:

    docker+jenkins构建持续集成环境:
    docker基础

  • 场景四:微服务

    将业务架构拆分成微小的业务去组织整体业务;
    一个容器中只运行一个服务,容器之间隔离;

  • 场景五:弹性伸缩
    业务量增加或减少,资源整合比较方便,资源拓展等;

docker的版本及安装:

docker EE是企业版本,提供技术支持等;

docker CE是公共版本;
docker基础

镜像管理:

存储驱动:

aufs,devicemapper,overlay,overlay2(目前最热)

管理命令:

exec 执行命令

pull 拉镜像
push 上传镜像
inspect 查看容器信息
stats 查看容器运行状态
save 保存镜像到本地
load 加载镜像文件
volume 创建存储

管理应用程序数据:

volumes、bind mounts和tmpfs;

tmpfs是存储在宿主机内存中,不会写入到文件系统;
bind mounts挂载宿主机目录,相当于软连接;

企业级私有仓库:

docker harbor

docker监控:

cadvisor+influxdb+grafana

cadvisor:容器资源收集系统,收集容器的资源利用率,有内置的图形页面;

influxdb:时序数据库管理系统,以时间为索引存储数据;
grafana:仪表盘,展示数据;

转载于:https://blog.51cto.com/summer37/2112833

你可能感兴趣的文章
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
iptables 生产环境配置
查看>>
ant android 打包签名和渠道
查看>>
linux命令学习(1)-awk
查看>>
一个简单的接口,被调用并同步给出响应的方法
查看>>
Hadoop序列化与压缩
查看>>
由“男怕入错行”说开去
查看>>
php-fpm多实例运行
查看>>
CGImageSource对图像数据读取任务的抽象
查看>>
我的友情链接
查看>>
xss test
查看>>
也谈svn分支与合并
查看>>
显式锁(第十三章)
查看>>
微软超融合私有云测试29-SCDPM2016部署之创建保护组备份(备份虚拟机)
查看>>
LBS“他爹”GIS
查看>>
SCCM的证书配置PKI
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
POI 生成 xls 文件使用总结(快速入门)
查看>>