• Docker Images & Containers


    在Docker工作时,有一些术语和一些核心概念。其中两个是镜像(images)和容器(cotainers)。

    镜像(Images)

    镜像像容器的蓝图,它们包含相关的事情存储在其中。但是并不是实际上运行在其中,它们只是存储它们在其中。包括一切应用需要运行的单一的事情。这些事情是:

    运行时环境,例如一个特定的Node版本

    应用代码自身

    任何应用需要运行的依赖

    额外的配置,例如环境变量

    额外的指令,例如应用工作需要运行的命令

    镜像有自身的文件系统,独立于你计算机系统的部分。

    镜像是只读的,意味着,一旦你创建了一个镜像,就不能够改变。

    如果你需要改变镜像。取而代之的是,你应该创建一个崭新的镜像来包含改变。

    容器(cotainers)

    容器是镜像的可运行的实例。

    我们创建镜像,它是容器的蓝图。

    接着,当我们运行镜像时,它创建一个容器。

    是一个进程可以正如镜像中概述的那样运行我们的应用。

    所以,它将有正确的运行时环境,访问权限到镜像文件系统,依赖等等。

    所以,容器是一个进程如我们创建的镜像的概述那样,运行我们的应用。

    容器也称为隔离进程(isolated process),意味着它们独立于你计算机上任何其它进程运行。

    有点像我们的应用运行在计算机的某处它自己的盒子上,包装带走一切需要运行在内部的,完全独立于计算机上的任何其它进程。

    想一想这意味着什么,我可以做一个image包含一个应用需要的一切。

    操作系统,正切的node或者python版本,依赖,源代码。

    接着,我可以运行这个镜像来创建一个容器,来运行我的应用。

    自己电脑上安装哪个版本的node或者是python没有关系,因为都运行在容器中。

    有应用需要运行需要的正确的版本。

    也意味着我可以仅仅与任何需要运行这个应用的人分享Docker镜像,在他们自己的电脑之上。他们可以运行镜像,做容器,来运行应用。

    自己电脑上安装的不相关,因为它们被预打包到镜像中,应用以在自己电脑上相同的方式运行,或者别人的电脑,或者是生产服务器。

    如何创建镜像,如何基于这些镜像运行容器。

  • 相关阅读:
    软件测试报告包含哪些内容?如何获取高质量软件测试报告?
    Java函数详解:获取传入日期的最后一天
    JDK中动态库加载路径问题,一文讲清
    文件服务器
    Weblogic SSRF 漏洞复现
    FFmpeg音视频复用器----为啥大多数视频只有一个视频流和一个音频流
    linux 启动流程
    华为---RSTP(四)---RSTP的保护功能简介和示例配置
    Vue-Router学习记录
    Qt QMultiMap
  • 原文地址:https://blog.csdn.net/tongbowen_123/article/details/126924254