专栏首页兔子の小宅docker是啥?是干什么的?

docker是啥?是干什么的?

我们知道,软件依赖的环境大致包括:

• 配置文件 • 代码 • tomcat • JDK • 操作系统

Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。

思想:

集装箱 标准化 隔离

核心

docker有3大核心:镜像、容器、仓库。 鲸鱼是操作系统。 要交付的应用程序是各种货物,要将各种形状和尺寸不同的货物放到大鲸鱼上,得考虑每件货物怎么安放(应用程序配套的环境),还得考虑货物和货物之间能否重叠起来(应用程序依赖的环境是否会冲突)。 现在使用了集装箱(容器)把每件货物都放到集装箱里,这样大鲸鱼可以用同样地方式安放、堆叠集装了,省事省力。 即:打包放到鲸鱼上,鲸鱼放到服务器上。也就是“build——ship——run”,这样在自己的电脑上怎么运行,在服务器上也会怎么运行。 用docker运行一个程序的过程: 去仓库把镜像拉到本地,然后用一条命令把镜像运行起来,变成容器。

(1) 镜像-复制的程序

定义: Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

作用 类似于虚拟机的快照,用来创建新的容器。

特点: 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

(2)容器-集装箱

运行程序的地方 镜像是静态的,每一层都只是可读的,而容器是动态的,里面运行着我们指定的应用。

(3)仓库-存放镜像的地方

存放镜像的地方,和git类似 在知乎上看到一个很好的解释:

简单来说就是,不同的应用程序所依赖的环境不一样,如果把他们依赖的软件都安装在一个服务器上,不仅需要调试很久,而且可能会有冲突。 如果想把两个应用程序隔离起来,可以在服务器上创建不同的虚拟机,不同的虚拟机放不同的应用,但是虚拟机的开销比较高。docker作为轻量级的虚拟机,是一个很好的工具。

作用?

1.解决运行环境不一致所导致的问题。这样就不会产生“本地运行没问题,可一到服务器上就不行了”的情况。 2.限定最大的cpu使用内存硬盘,这样就起到了隔离的作用,避免产生“一块代码产生死循环,把磁盘占满了,其它程序也挂了”的情况。 3.双11时扩展机器用。

总结成一句话:docker的标准化让快速扩展,弹性伸缩变得简单

使用之前和之后

之前,可以发现,每发布一个程序,都要走一遍以下的流程:

之后:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 二进制转十进制的流程图以及Python源码

    首先,先温习一下 二进制转十进制吧! 从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。 eg.第2位就是2的(2-1次)方,就...

    兔子吖
  • 分享一个腾讯的最新良心图片压缩平台

    菊座曾经分享过很多压缩图片的软件或网站,因为在这个越来越讲究效率的年代,载入速度和打开速度几乎就意味着一切的基础,所以今天再加一个智图,据说是有腾讯背景的图片压...

    兔子吖
  • PHP查询QQ电脑在线状态

    Last modification:January 12th, 2019 at 12:55 pm

    兔子吖
  • Docker容器中一定要避免的10件事

    但是,许多用户仍然像对待典型虚拟机一样对待容器,而忘记了容器具有重要的特征:即容器是一次性的。

    xcbeyond
  • Docker容器中一定要避免的10件事

    但是,许多用户仍然像对待典型虚拟机一样对待容器,而忘记了容器具有重要的特征:即容器是一次性的。

    xcbeyond
  • Linux 容器 vs 虚拟机 —— 谁更胜一筹

    自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手。本文将向您提供详细信息,以了解Linux容器和虚拟机之间的差异。 Linu...

    小小科
  • Linux 容器 vs 虚拟机 — 谁更胜一筹

    自从 Linux 上的 容器 变得流行以来,了解 Linux 容器和虚拟机 之间的区别变得更加棘手。本文将向您提供详细信息,以了解 Linux 容器和虚拟机之间...

    Debian社区
  • 读书笔记: 博弈论导论 - 11 - 完整信息的动态博弈 战略协议

    绿巨人
  • kafka系列之彻底弄清楚各版本差异

    我自己用了 kafka 也挺久的了,关于kafka的版本规则,各个大版本的升级究竟做了哪些优化等,并没有特别的关注。

    用户7634691
  • 快速开始 - 构建文档 - ckeditor5中文文档

    <textarea name="content" id="editor"></textarea>

    ianzhi

扫码关注云+社区

领取腾讯云代金券