docker拾遗-之再入坑
最近重新学习docker,好久不用,什么都是忘得差不多了,每天地铁看看视频,记记笔记,重新学习docker。
docker简介
什么是容器?
- 一种虚拟化的方案
- 操作系统级别的虚拟化
- 只能运行在相同或相似内核的操作系统
- 依赖于linux内核特性:Namespace和Cgroups(Control Group)
linux容器 VS 虚拟机
使用的容量更小
什么是docker?
- 将应用程序自动部署到容器
- GO语言开源引擎
- 2013 dotCloud
- 基于Apache 2.0开源授权协议发行
docker的目标
- 提供简单轻量的建模方式
- 职责的逻辑分离
- 快速高效的开发生命周期
- 鼓励使用面向服务的架构
docker的使用场景
- 使用docker容器开发测试,部署服务
- 创建隔离的运行环境
- 搭建测试环境
- 构建多用户的平台即服务(PaaS)基础设施
- 提供软件即服务(SaaS)应用程序
- 高性能、超大规模的宿主机部署
Docker容器相关技术
docker依赖的linux内核特性
- NameSpaces命名空间
- Control group (Cgroups)控制组
Namespace命名空间
编程语言
封装 -> 代码隔离
操作系统
系统资源的隔离
进程、网络、文件系统...
- PID (Process ID) 进程隔离
- NET (Network) 管理网络接口
- IPC (InterProcess Communication) 管理跨进程通信的访问
- MNT (Mount) 管理挂载点
- UTS (Unix TimeSharing System) 隔离内核和版本标识
Control groups 控制组
- 用来分配资源
- 来源于google
- Linux Kernel 2.6.24 @ 2007
- 资源限制
- 优先级设定
- 资源计量
- 资源控制
Docker容器的能力
- 文件系统隔离: 每个容器的都有自己的root文件系统
- 进程隔离: 每个容器都运行在自己的进程环境中
- 网络隔离: 容器的虚拟网络接口和IP地址是分开的
- 资源隔离和分组:使用Cgroups将CPU和内存之类的资源独立分配给每个Docker容器
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化
此文旨在记录与传播在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化的知识要点。 PostGIS 已经有PostGIS经验的大佬可以忽略此段了。解释 PostGIS 之前需要介绍 PostgreSQL (简称 postgres ); postgres 是一个数据库服务器软件,由加州大学伯克利分校计算机系开发;部署在服务器上可以由不同数量的客户端连接,进而操作postgres 数据库中的数据。PostGIS 是在 postgres 之上的一款扩展软件,他主要用来存储及操作空间数据(矢量和栅格),还可以对进行空间分析。 Docker 对于一位不熟悉命令行的用户来说可能Docker 是一头野兽;有点吓人吧。 因为他的大部分操作都是基于命令行的;但是它为您提供了一种构建和运行软件的方式,通过构建一种名为LXC容器的技术,以非常一致和可控的方式运行软件。 对于GISer来说,Docker 和 PostGIS 又意味着什么呢? 如果有 Docker 和 PostGIS 技术,GISer或者其他人都能以最小的配置在任何机器上安装软件,而且环境都是一致的,这在开发和运维中至关重要...
- 下一篇
容器服务K8S存储卷挂载常见问题
相关链接 K8S存储插件日志查询;链接K8S存储插件升级步骤;链接 K8S挂载云盘问题整理;链接K8S挂载NAS问题整理;链接K8S挂载OSS问题整理;链接 检查Flexvolume是否安装? 在master节点上执行下面命令: # kubectl get pod -n kube-system | grep flexvolume flexvolume-4wh8s 1/1 Running 0 8d 查看flexvolume pod状态是否为Running,且运行的数量与节点数量相同; 如果没有安装,请参考:插件安装 检查动态存储插件是否安装? 如果使用云盘的动态存储功能,需要确认是否安装动态存储插件,执行下面命令: # kubectl get pod -n kube-system | gre
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果