zoukankan      html  css  js  c++  java
  • Docker从入门到精通(一)——初识

    img

    1、Docker 是什么?

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    2、Docker 为什么会出现?

    ①、一次构建,到处运行

    一个项目,从开发-上线,开发人员需要在本机进行开发,运维人员将打包的服务部署上线,涉及到操作系统变更,应用配置变更,很常见的一种情况是:

    我本地运行的好好的,怎么到你那就不行了呢?

    进而衍生出:

    项目可以带环境安装吗?也就是部署的时候,可以把原始环境一起打包复制过来。

    Docker 便能干这个事,通过 Docker 打包镜像发布测试,提供了一个标准化的解决方案,再也不用担心因为环境不一致而导致的服务部署问题。

    ②、更高效的计算资源利用

    我们部署项目,发展历程如下:

    一、物理机时代

    部署一个服务,会粗略估计服务所需要的机器性能,然后去采购对应的真实物理机器,然后在该机器上安装服务需要的一些软件,比如服务器Tomcat,数据库MySQL等等。

    物理机时代还是有很多缺点的:

    1、部署非常慢:采购机器,安装系统,安装软件等等;

    2、成本高以及资源浪费:通常为了以防服务性能不够,我们都会尽量采购比预期资源高一点的机器,不仅会增加成本,还会造成机器资源浪费;

    3、难于扩展与迁移:由于是真实的物理机,扩展或者迁移会比较麻烦;

    二、虚拟机时代

    VMware 相信大家都玩过,通过VMware 我们能在自己电脑上创建很多虚拟机器,而物理机时代就是在一台真实物理机上,虚拟出多台机器,而且每台机器都可以看做是一台独立的电脑。

    相对于物理机时代,虚拟机能够在一台机器上创建多台机器,能够充分利用资源,并且也做到了机器之间的隔离,机器性能不够用了,也可以通过 Hypervisor 随时进行扩展。

    但是也有个缺点,我们每一台虚拟机都要独立安装操作系统,大家知道操作系统其实也是比较占用性能的,有多少台虚拟机,我们就得多安装多少个操作系统,这样就浪费了很多资源,那么怎么解决呢?

    三、容器化时代

    容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。 因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。可以把容器看做是不用安装操作系统的虚拟机,容器化技术比虚拟机更加灵活,更加小巧,更加极致的利用物理机资源。

    3、Docker 的优点

    ①、部署快,开发测试更加敏捷

    通过Docker 打包镜像发布测试,一键运行。

    ②、快速扩缩机器

    由于Docker容器快速启动特性,可以很快速的启动几十个、上百个容器来提供更多并发和资源利用率,并且这么多容器也有比较成熟的解决方案来统一管理,比如K8S。

    ③、提高系统利用率,降低硬件成本

    轻量级的虚拟机,更省资源。

    ④、跨环境可移植

    ⑤、更好的支持微服务

    微服务是近几年来IT圈内谈论比较多的一个名词,意义也很简单:尽可能细粒度拆分业务程序架构,由多个独立服务组成业务系统。

    而Docker的容器设计原则:一个容器一个服务,容器之间相互隔离,和微服务正好遥相呼应。

    ⑥、应用运维标准化,支持不同语言应用

    ⑦、避免云厂商锁定

    4、Docker 学习网站

    ①、官网(永远的神)

    https://www.docker.com/

    ②、官方文档

    https://docs.docker.com/

    ③、仓库地址

    https://hub.docker.com

    作者:IT可乐

    资源:微信搜【IT可乐】关注我,回复 【电子书】有我特别筛选的免费电子书。
    本文版权归作者所有,欢迎转载,但未经作者同意不能转载,否则保留追究法律责任的权利。
  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/ysocean/p/15647151.html
Copyright © 2011-2022 走看看