zoukankan      html  css  js  c++  java
  • 什么是Docker,它可干什么?

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

    1• 配置文件
    2• 代码
    3• tomcat
    4• JDK
    5• 操作系统



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


    思想:

    1. 集装箱
    2. 标准化
    3. 隔离

    核心:

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

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

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

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

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


    (2)容器-集装箱
    运行程序的地方
    镜像是静态的,每一层都只是可读的,而容器是动态的,里面运行着我们指定的应用。
    (3)仓库-存放镜像的地方
    存放镜像的地方,和git类似
    why?
    在知乎上看到一个很好的解释:

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


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

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

    使用之前和之后


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

    之后:


    how?
    docker安装?
    检查计算机是否符合要求,版本和是否开启了虚拟化之类的。
    去官网下载并安装
    测试是否安装成功
    这是一篇描述在win10上安装docker的博客:
    https://blog.csdn.net/hunan961/article/details/79484098

    docker的使用?——hello world
    从中央库中拉取镜像

    查询到拉取成功

    运行镜像,查看到结果

    原理解析

    docker pull的时候,Docker damemon先在本地仓库中找,如果没有,再去中央仓库中拉取,拉取到本地仓库就好了。
    docker run的时候,也是先在本地仓库中找,如果有,直接放到容器里用。否则,去中央仓库中拉取。
    ---------------------
    原文:https://blog.csdn.net/qsbbl/article/details/86715741

  • 相关阅读:
    Java8 Stream Function
    PLINQ (C#/.Net 4.5.1) vs Stream (JDK/Java 8) Performance
    罗素 尊重 《事实》
    小品 《研发的一天》
    Java8 λ表达式 stream group by max then Option then PlainObject
    这人好像一条狗啊。什么是共识?
    TOGAF TheOpenGroup引领开发厂商中立的开放技术标准和认证
    OpenMP vs. MPI
    BPMN2 online draw tools 在线作图工具
    DecisionCamp 2019, Decision Manager, AI, and the Future
  • 原文地址:https://www.cnblogs.com/nnnnnn/p/10648225.html
Copyright © 2011-2022 走看看