最近Python程序员提到最多的一个框架就是docker了,对于一些新手来说还不知道他的存在,这里小千就用几期文章给大家介绍一下这个docker和使用教程,喜欢的话记得关注一下。

1.什么是Docker?

  Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

2.Docker的设计理念和概念

  docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后一个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。所以Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。使用Linux容器来部署应用程序称为集装箱化。使用docker轻松部署应用程序。目前,Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

3.Docker的组成部分

  一个完整的Docker有以下几个部分组成:DockerClient客户端、Docker Daemon守护进程、Docker Image镜像、DockerContainer容器。通过运行images启动容器,一个images是一个可执行的包,其中包括运行应用程序所需要的所有内容-代码,运行时,库、环境变量和配置文件。容器时images运行时示例-当被执行时(即,images状态,或者用户进程)在内存中,可以使用命令查看正在运行容器的列表docker ps,就像在Linux中一样。

4.容器虚拟化和用途

  Docker的主要用途,目前有三大类:提供了一次性的环境:比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。提供弹性的云服务:因为Docker容器可以随开随关,很适合动态扩容和所容。组建微服务架构:通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

5. Docker的使用场景

  使用Docker容器开发、测试、部署服务:因为Docker本身非常轻量化,所以本地开发人员可以构建、运行并分享Docker容器。容器可以在开发环境中创建,然后再提交到测试,最终进入生产环境。创建隔离的运行环境:在很多企业应用中,同一服务的不同版本可能服务于不同的用户,那么使用Docker非常容易创建不同的生成环境来运行不同的服务。搭建测试环境:由于Docker的轻量化,所以开发者很容易利用Docker在本地搭建测试环境,用来测试程序在不用系统下的兼容性;甚至搭建集群的部署测试。构建多用户的平台即服务(PaaS)基础设施。提供软件即服务(SaaS)应用程序。高性能、超大规模的宿主机部署。以上就是关于Docker的一些基础介绍了,下一期我们给大家介绍Docker的安装和常用概念,千万不要错过了。

本文来自千锋教育,转载请注明出处

Docker框架的使用系列教程(一)相关推荐

  1. Docker框架的使用系列教程(四)容器的使用

    docker框架到这里我们已经是第四期了,上一期我们介绍了docker镜像的拉取和删除等操作,今天我们就来介绍一下容器的启动.查看.退出等操作,废话不多说下面开始. 1.新建并启动容器 docker ...

  2. Docker框架的使用系列教程(三)

    这已经是Docker系列教程的第三期,我们今天给大家介绍一下Docker镜像的获取和查看方式,喜欢的话记得收藏起来~ 基本步骤: 搜索镜像:使用docker search 命令搜索存放在docker ...

  3. Python技巧:Docker框架的使用系列教程(一)

    最近Python程序员提到最多的一个框架就是docker了,对于一些新手来说还不知道他的存在,这里小千就用几期文章给大家介绍一下这个docker和使用教程,喜欢的话记得关注一下. 1.什么是Docke ...

  4. Docker框架的使用系列教程(二)

    大多数的Python程序员使用的都是virtualenv,但当项目要求你快速上线或者部署多台服务器环境的时候就需要将服务器一台一台的yum install.vim.restart-而docker就可以 ...

  5. ABP框架搭建项目系列教程基础版

    我现在要着手一个新的项目,也打算用这个框架,所以想要将我一步一步用这个框架的做项目的步骤和想法跟大家分享出来. 经过前面十二篇的基础教程,现在终于该做个总结了. 第一篇,我们建议新手朋友们先通过ABP ...

  6. docker pull 私有_Docker系列教程03Docker私有仓库搭建(registry)

    一个执着于技术的公众号 地方 简介 仓库(Repository)是集中存放镜像的地方,又分为公共镜像和私有仓库. 当我们执行docker pull xxx的时候,它实际上是从registry.dock ...

  7. OMV搭建系列教程[6] – 安装AriaNG Web前端

    OMV搭建系列教程[0] – 最小化安装Debian9 OMV搭建系列教程[1] – Debian9安装OpenMediaVault OMV搭建系列教程[2] – 安装omv-extras OMV搭建 ...

  8. JavaWeb核心技术系列教程(23)——JSP标签

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往--自定义View ...

  9. 讲给后台程序员看的前端系列教程(52)——Bootstrap轮播图

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往--自定义View ...

最新文章

  1. input type=hidden /在IE中占空间(转)
  2. 1081 Rational Sum 有理数类型题处理 需再做
  3. Gift for GS5
  4. 企业形象广告的几个突破要点
  5. 选项卡,下拉菜单操做时的页面数据更新,highcharts,d3 结合。
  6. 【软件测试】软件可测试性
  7. easyui tab 引用html,jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
  8. Android事件分发 笔记
  9. 【转】 Oracle中分区表的使用
  10. 手机分辨率和网页中的px是一回事吗?
  11. 深度学习中的有监督学习和无监督学习
  12. 基于FPGA的数字时钟verilog开发
  13. 数据库监控 Prometheus + Grafana
  14. 1038: 绝对值最大
  15. 通过物理地址查计算机,别人知道我查电脑的物理地址,怎么处理
  16. vue移动端的日期插件带农历
  17. 为此计算机所有用户安装加载项,此网站需要运行以下加载项……如果您信任该网站和该加载项并允许运行该加载项...
  18. P2455 [SDOI2006]线性方程组
  19. Java如何使用直接内存?
  20. 基于深度学习的VQA(视觉问答)技术

热门文章

  1. Java基础学习总结(2)——接口
  2. fastslam matlab,fastslam 快速定位和构图的源码,一个简单的例子,3D建模,可以用作学习智能机器人自主移动 matlab 272万源代码下载- www.pudn.com...
  3. ToolTip C#
  4. Apache Shiro权限管理框架
  5. android布局layout中的一些属性
  6. shell的执行顺序问题
  7. C#多线程和异步(二)——Task和async/await详解(转载)
  8. ICSharpCode.SharpZipLib 压缩、解压文件 附源码
  9. 微信域名屏蔽检测方法 微信域名检测接口的机制
  10. Linux学习-账号管理