一 docker的8个使用场景
1.简化配置
虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件, 系统), Docker在降低额外开销的情况下提供了同样的功能. 它能让你将运行环境和配置放在代码汇总然后部署, 同一个Docker的配置可以在不同的环境环境中使用, 这样就降低了硬件要求和应用环境之间耦合度.
2.代码流水线管理
代码从开发者的机器到最终在生产环境上的部署, 需要经过很多的中坚环境. 而每一个中间环境都有自己微小的差别, Docker给应用提供了一个从开发到上线均一致的环境, 让代码的流水线变得简单不少.

3.提升开发效率
不同环境中, 开发者的共同目标:
一, 想让开发环境尽量贴近生产环境.
二 , 想快速搭建开发环境
开发环境的机器通常内存比较小, 之前使用虚拟的时候, 我们经常需要为开发环境的机器加内存, 而现在Docker可以轻易的让几十个服务在Docker中跑起来.

4.隔离应用
开发时会在一个台机器上运行不同的应用.
一, 为了降低成本, 进行服务器整合
二, 将一个整体式的应用拆分成低耦合的单个服务(微服务架构)
5.整合服务器
Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本. 由于没有多个操作系统的内存占用, 以及能在多个实例之间共享没有使用的内存, Docker可以比虚拟机提供更好的服务器整合解决方案.
6.调试能力
Docker提供了很多的工具, 这些工具不一定只是针对容器, 但是却适用于容器. 他们提供了很多功能, 包括可以为容器设置检查点, 设置版本, 查看两个容器之间的差别, 这些特性可以帮助调试Bug.
7.多租户环境
多租户环境的应用中, 它可以避免关键应用的重写.我们一个特别的关于这个场景的例子是为loT(物联网)的应用开发一个快速, 易用的多租户环境. 这种多租户的基本代码非常复杂, 很难处理, 重新规划以应用不但消耗时间, 也浪费金钱.
使用Docker, 可以为每一个租户的应用层的多个实例创建隔离的环境, 这不仅简单而且成本低廉, 因为Docker环境启动的速度快, diff命令很高效.
8.快速部署
Docker为进程创建一个容器, 不需要启动一个操作系统, 时间缩短为秒级别.
可以在数据中心创建销毁资源而无须担心重新启动带来的开销. 通常数据中心的资源利用率只有30% , 通过使用Docker并进行有效的资源分配可以提高资源的利用率.

二 docker的缺点

三 docker的相关知识点
Docker组件(核心):镜像、容器、库。

采用C/S架构:客户端(执行程序)→通过命令行和API形式和守候程序(提供Docker服务)进行通讯。
镜像:一个只读的静态模板(框架体系);包含环境和应用执行代码(框架语言);采用分层机制。将新增数据通过联合文件系统附加在原基础上。
容器:一个运行时环境,是镜像的运行状态,是镜像执行的一种动态表现。
库:使用注册服务器(共有的or私有的)存储和共享用户的镜像,是某个特定用户存储镜像的目录。

*Docker特性:
*隔离性:libcontainer(默认容器)=>内核命名空间。
*安全性:内部(cgroups)| 容器和宿主主机(内核能力机制)。
*可度量性:cgroups(控制组)→资源度量和分配(用户)。
*移植性:AUFS(快速更新)→层的概念。
-----使用AUFS作为Docker容器的文件系统,提供的好处:

Docker优点(比较LXC):
*跨平台可移植性:按统一标准打包(镜像中),可传播。
*面向应用:优化部署应用(设计哲学)→API,接口及文档(体现)。
*版本控制:追踪、查询、记录版本信息(应用程序更改史)和回滚版本等
*组件复用:组件式搭建(基础镜像)→Python(运行环境) | postgreasql(基础镜像)。
*共享性:公共的注册服务器(可免费下载源码)。

docker的学习总结的更多相关文章

  1. 在Windows环境中开始Docker的学习和体验

    研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...

  2. Docker容器学习梳理 - 应用程序容器环境部署

    关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...

  3. Docker容器学习梳理 - 日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...

  4. docker深入学习

    docker深入学习 一.容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+D ...

  5. 服务器搭建远程docker深度学习环境

    服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...

  6. Docker命令学习

    今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...

  7. 有关docker的学习链接

    本文是自己搜索的比较好的网上资源,便于有兴趣者查阅. 英文官网 https://docs.docker.com/engine/getstarted/ 中文入门手册 http://www.docker. ...

  8. Docker个人学习总结

    最近一段时间学习了下Docker,关于Docker的安装,运用什么的在这里我不会过多的说明,我只说我对于Docker的一些理解,附加我用于记录的少量代码. 刚开始学习Docker的时候,找资料在网上看 ...

  9. Docker技术学习

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1598249 貌似Doc ...

  10. Docker入门学习

    Python爬虫 最近断断续续的写了几篇Python的学习心得,由于有开发经验的同学来说上手还是比较容易,而且Python提供了强大的第三方库,做一个小的示例程序还是比较简单,这不我之前就是针对Pyt ...

随机推荐

  1. Sybase数据库连接配置

    简介 1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品.SYBASE主要有三种版本,一是UNIX操作系统下运行 ...

  2. mysql locate()函数

    mysql> select * from test; +----+------------+-------+-----------+ | id | name | score | subject ...

  3. SRS之安装与使用

    1. 安装 1.1 github 获取源码 git clone https://github.com/ossrs/srs.git 1.2 编译 1.2.1 关闭防火墙和 selinux 先关闭防火墙, ...

  4. Redis的常用JavaAPI(Jedis)实现

    一.  pom依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> & ...

  5. 工具系列 | VScode Remote 远程开发与调试(告别SSH)

    简介 最近VScode发布了远程编程与调试的插件Remote Development,使用这个插件可以在很多情况下代替vim直接远程修改与调试服务器上的代码,同时具备代码高亮与补全功能,就和在本地使用 ...

  6. 安装比特币区块链钱包API(Blockchain Wallet用户发送和接收比特币的简单API)

    区块链钱包API提供了一个简单的界面,商家可以用它以编程方式与钱包进行交互. 安装:要使用此API,您需要运行负责管理区块链钱包的小型本地服务. 您的应用程序通过HTTP API调用在本地与此服务进行 ...

  7. Python 初级 6 循环 (三)

    一.复习 1 计算循环(for循环) for looper in [1, 2, 3, 4, 5]: print("hello") 1) looper的值从第0个数1开始 2) 对应 ...

  8. [c++] Sequence Containers

    写在前面 C++ Standard Library For efficiency reasons, STL is not object-oriented: Makes little use of in ...

  9. Delphi ADOConnection连接

    unit Unit_DM; interface usesSysUtils, Classes, DB, ADODB,inifiles,windows,forms,controls; typeTDM = ...

  10. [LeetCode] 67. Add Binary 二进制数相加

    Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...