• Docker Images & Containers


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

    镜像(Images)

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

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

    应用代码自身

    任何应用需要运行的依赖

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

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

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

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

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

    容器(cotainers)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    让写代码燃起来!vscode插件Power Mode
    【Python学习笔记】Optuna + Transformer B站视频实践
    [暑假]Vue框架里面 一些小知识(持续更新)
    ROS2——常用命令行(四)
    -bash: spawn: 未找到命令
    Py之trl:trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略
    模板测试和深度测试在cocoscreator中的应用
    HTB靶场 Perfection
    深入剖析Sgementation fault原理
    Vue.js 框架源码与进阶 - Vue.js 3.0 响应式系统原理
  • 原文地址:https://blog.csdn.net/tongbowen_123/article/details/126924254