zoukankan      html  css  js  c++  java
  • MapReduce——何为Docker

    何为Docker

    参考地址

    docker是啥?是干什么的?_玫瑰与鹿°-CSDN博客_docker是干什么的

    定义

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

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

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

    思想

    集装箱
    标准化
    隔离

    核心

    docker有3大核心:镜像、容器、仓库。

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

    (1) 镜像-复制的程序

    定义

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

    作用

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

    特点

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

    (2)容器-集装箱

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

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

    存放镜像的地方,和git类似

    在知乎上看到一个很好的解释:

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

    作用

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

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

    Docker安装步骤

    MapReduce——Docker服务安装 - 不会编程的肉蛋葱鸡 - 博客园 (cnblogs.com)

  • 相关阅读:
    CSS媒体查询
    重新认识caniuse
    范仁义css3课程---40、box-sizing属性实例
    前端超级实用技巧---2、css、js兼容性查询网站can i use
    日常英语---200221(shrink)
    心得体悟帖---200221(方针:进可攻退可守的方式:先把不熟悉的知识点录)
    心得体悟帖---200221(本来二月份就到了三月之期的)
    心得体悟帖---200220(对不同的人,用不同的处理方式(这个你远远没有理解))
    java中的String.format使用
    android中的ellipsize设置(省略号的问题)
  • 原文地址:https://www.cnblogs.com/wangdayang/p/15642464.html
Copyright © 2011-2022 走看看