热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker基础1.Docker简介

Docker文档:https:docs.docker.comDcker中文文档:https:docs.docker-cn.com一.docker简介1.docker是什么?1.1d

Docker文档:https://docs.docker.com/

Dcker中文文档:https://docs.docker-cn.com/

一.docker简介

1.docker是什么?

1.1docker发展方向

方向 语言 框架等
JavaEE java SpringMVC/SpringBoot/Mybatis
Docker Go Swarm/Compose/Machine/mesos/k8s/—-CI/CD jenkinds整合

1.2docker出现的原因

  • 开发和运维之间相爱相杀:开发(打包的代码) -> 运维(部署)
    • 从产品到上线,从操作系统到运行系统,再到应用配置,需要关注很多东西.
    • 在各个版本迭代之后,不同版本环境的兼容对运维都是考验
  • 运维部署多台
  • 解决方案:

    • 环境配置很麻烦,换台机器就需要重来一次,能否软件带环境安装
    • 将开发环境(ok的,包含代码,配置,系统,数据) —–>打包——> 运维(部署):将原始环境一模一样复制
      Docker基础 1.Docker简介
  • 镜像技术:

    • 打破”程序即应用”的观念
    • 从系统环境开始,自底至上打包应用,达到应用程序无缝接轨运作.

Docker基础 1.Docker简介

1.3docker理念

  • Docker是基于Go语言实现的云开源项目。
  • Docker是一个开源的容器引擎,它可以帮助我们更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可减少从编写到部署运行代码的周期。
  • Docker的主要月标是“Build, Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管 理,使用户的APP (可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。
  • Linux容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的。将应用运行在Docker容器上面,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作.

1.4 logo解读

Docker基础 1.Docker简介

  • 鲸鱼背上有集装箱

    ​ 蓝色海洋 — 宿主机系统

    ​ 鲸鱼 —– docker

    ​ 集装箱 —– 容器实例

1.5总结

  • 解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术.

2.docker能做什么?

  • 之前的虚拟机技术:

    • 虚拟机(virtual machine)就是带环境安装的一种解决方案。 它可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统。应用程序对此亳无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。
      Docker基础 1.Docker简介

    • 缺点:

      • 资源占用多
      • 冗余步骤多
      • 启动慢
  • 容器虚拟化技术:

    • 由于前面虚拟机存在这些缺点,Linux发展出了另一种虚拟化技术: Linux容器(Linux Containers, 缩写为LXC)。

    • Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

Docker基础 1.Docker简介

  • Docker 和传统虚拟化方式的不同之处:
    • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程.
    • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
    • 每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。

  • 开发/运维(DevOps):一次构建,随处运行
    • 更具啊的应用交付和部署
    • 更便捷的升级和扩缩性
    • 更简单的系统运维
    • 更高效的技算资源利用

  • 企业级运用:

    • 微博

    Docker基础 1.Docker简介
    Docker基础 1.Docker简介

  • 美团
    Docker基础 1.Docker简介

3.去哪儿下载

  • 官网:
    • docker官网:https://www.docker.com/
    • docker中文网站:https://www.docker-cn.com/
  • 仓库:
    • docker hub:https://hub.docker.com/

推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
author-avatar
手机用户2602909197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有