首页 > 其他分享 >Docker 三要素:镜像 容器 仓库

Docker 三要素:镜像 容器 仓库

时间:2024-04-08 16:14:32浏览次数:29  
标签:容器 仓库 三要素 实例 镜像 Docker 模板

镜像、容器、仓库为docker的三要素。

首先,我们来了解一下docker容器实例吧。

 

 

 

所谓的镜像就是Book,在java里面叫做(类模板),所谓的new Book();基于同一份镜像模板,基于同一项java对象弄出来的,不同的实例对象,模板均来自同一份,等号左边叫类模板,等号右边叫整体叫做实例对象。

 

 

Docker是一种容器引擎,它上面驮着一个一个集装箱,每一个集装箱就是我们的容器实例,一个个容器实例来自哪里呢?来自于镜像,假设我们的docker,鲸鱼背上是个redis,java是new出来,而docker是run出来,根据同一份镜像,类似鲸鱼背上的集装箱,就是一个容器实例。

Docker镜像(image)

Docker镜像(image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。

它相当于是一个root文件系统。比如官方镜像CentOS7就包含了一套CentOS7最小系统的root文件系统。

相当于容器的“源代码”,docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new出来的实例对象。

容器与镜像的关系类似于面向对象编程中的对象与类。

 

 

容器(container)

1. 从面向对象角度

Docker利用容器(container)独立运行一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

2. 从镜像容器角度

可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间好网络空间等)和运行在其中的应用程序。

 

 

 仓库

仓库(Repository)是集中存放镜像文件的场所。

类似于

Maven仓库,存放各种jar包的地方;

GitHub仓库,存放各种git项目的地方;

Docker公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。

 

 

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的仓库是Docker Hub(Docker Hub)

存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等

 

 

需要正确的理解仓库/镜像/容器这几个概念:

Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。

image文件可以可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。

镜像文件

image文件生成的容器实例,本身也是一个文件,称为镜像文件。

容器实例

一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应运行实例,也就是我们容器

仓库

就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了。

标签:容器,仓库,三要素,实例,镜像,Docker,模板
From: https://www.cnblogs.com/pingguomang/p/18121500

相关文章

  • Docker部署xxl-job
    官方文档:https://www.xuxueli.com/xxl-job/#《分布式任务调度平台XXL-JOB》参考文档:https://www.jianshu.com/p/c47a405e98c4安装正常情况下,mysql的账号和密码如果和xxl-job上面的密码是一样的话,直接使用官方文档命令行即可:dockerrun-p8080:8080-v/tmp:/data/applogs--n......
  • 微服务学习-Docker安装
    0.安装DockerDocker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍DockerCE在CentOS上的安装。1.Ce......
  • Docker部署Seata
    参考文档:https://blog.csdn.net/qq_38066812/article/details/136238350版本1.6.1注意点:配置文件中关于nacos的addr,namespace,username,password,group,data-id等要与nacos中一致;IP地址相关的配置要考虑在容器内是否可以访问到安装dockerpullseataio/seata-server:1.6.0......
  • 如何建立python应用的docker镜像
    Docker是一种轻量级的容器技术,能够帮助开发人员轻松地将应用程序打包和部署到不同的环境中。Python是一种流行的编程语言,Docker可以帮助我们将Python应用程序打包成镜像,方便部署到不同的容器环境中。本文将介绍如何使用Docker构建Python应用程序的镜像。安装Docker在开始构建Pyt......
  • docker 安装gitlab
    1、查找镜像dockersearchgitlab/gitlab-ce2、下载镜像dockerpullgitlab/gitlab-ce3、创建文件夹mkdir-p/home/lihaiyang/docker/gitlab/etc/home/lihaiyang/docker/gitlab/log/home/lihaiyang/docker/gitlab/opt4、创建文件并写入配置在/home/lihaiyang/docker......
  • SpringBalale docker-compose
    docker-composeversion:'3'services:mysql-svc:image:mysql:5.7container_name:mysqlports:-3306:3306environment:TZ:Asia/ShanghaiMYSQL_ROOT_PASSWORD:rootcommand:--character-set-server=utf......
  • WebSocket socket.io.js文件镜像源
    前言全局说明WebSocketjs文件镜像一、说明js文件名字中带min的,是压缩版(去掉空格、换行等字符),方便传输。如果想查看源码,就选不带min字样的。二、cloudflare.com镜像<scriptsrc="//cdnjs.cloudflare.com/ajax/libs/socket.io/4.2.0/socket.io.js"></script>三......
  • k8s.gcr.io、registry.k8s.io镜像下载失败解决方案
    k8s.gcr.io、registry.k8s.io镜像下载失败解决方案问题解决方案使用方法匹配规则问题初始化Kubernetes集群时,很多人都可能遇到以下问题,部分镜像无法访问:Errorresponsefromdaemon:Gethttps://k8s.gcr.io/v2/:net/http:requestcanceledwhilewaitingforcon......
  • docker-compose 安装nginx
    docker-compose.yamlversion:'3.3'services:nginx:image:nginxrestart:alwayshostname:nginxcontainer_name:nginxprivileged:trueports:-80:80-443:443volumes:-./nginx/conf/:/etc/nginx/......
  • 基于新版宝塔Docker部署在线客服系统过程小记
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。客服系统开发过程中,最让我意外的是对TCP/IP协议的认识。过去一直认为TCP/IP是可靠的连接,加上过去开发的软件网络环境比较稳定,很少在这个问题上纠结......