Docker镜像的创建方法
基于已有镜像创建
1 | 把一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像: |
把一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像: docker commit [选项] 容器ID/名称 仓库名称[:标签] |__ -m --说明信息 |__ -a --作者信息 |__ -p --生成过程中停止容器的运行
1 | 把一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像: |
把一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像: docker commit [选项] 容器ID/名称 仓库名称[:标签] |__ -m --说明信息 |__ -a --作者信息 |__ -p --生成过程中停止容器的运行
Docker官方文档
Docker的Logo设计为蓝色鲸鱼, 拖着许多集装箱. 鲸鱼可以看作为宿主机, 而集装箱可以理解为相互隔离的容器, 每个集装箱中都包含自己的应用程序. 正如Docker的设计宗旨一样: Build, Ship and RunAny App, Anywhere, 即通过对应用组件的封装、发布、部署、运行等生命周期的管理, 达到应用组件级别的”一次封装, 到处运行”的目的. 这里的组件, 既可以是一个应用, 也可以是一套服务, 甚至是一个完整的操作系统.
Docker的容器技术可以在一台主机上轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器. 通过这种容器打包应用程序, 意味着简化了重新部署、调试这些琐碎的重复工作, 极大地提高了工作效率.
特性 | Docker容器 | 虚拟机 |
启动速度 | 秒级 | 分钟级 |
计算能力损耗 | 几乎无 | 损耗50%左右 |
性能 | 接近原生 | 弱于 |
系统支持量(单机) | 上千个 | 几十个 |
隔离性 | 资源限制 | 完全隔离 |
Docker的三大核心概念: 镜像、容器、仓库
复制集(Replica Sets)是额外的数据副本, 是跨多个服务器同步数据的过程, 复制集提供了冗余并增加了数据可用性, 通过复制集可以对硬件故障和中断的服务进行恢复.
复制集的优势如下:
1.让数据更安全
2.高数据可用性(24*7)
3.灾难恢复
4.无停机维护(如备份、索引重建、故障转移)
5.读缩放(额外的副本读取)
6.副本集对应用程序是透明的
MongoDB的复制集至少需要两个节点. 其中一个是主节点(Primary), 负责处理客户端的请求, 其余的都是从节点(Secondary), 负责复制主节点上的数据.
复制集特点:
1.N个节点的群集
2.任何节点可作为主节点
3.所有写入操作都在主节点上
4.自动故障转移
5.自动恢复