Docker入门-架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

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

Docker面向对象
容器对象
镜像

img

概念说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container)容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker RegistryDocker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。
Docker MachineDocker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker原理之Namespaces

命名空间&#xff08;namespaces&#xff09;是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。 一、Namespaces 在日常使用 Linux 或者 macOS 时&#xff0c;我们并没有运行多个完全分离的服务器的需要&#xff0c;但是如果我们在服务器上启…

Docker原理之CGroups

控制组&#xff08;cgroups&#xff09;是 Linux 内核的一个特性&#xff0c;主要用来对共享资源进行隔离、限制、审计 等。只有能控制分配到容器的资源&#xff0c;才能避免当多个容器同时运行时的对系统资源的竞争。控制组技术最早是由 Google 的程序员 2006 年起提出&#x…

Docker原理之UnionFS

一、UnionFS Linux 的命名空间和控制组分别解决了不同资源隔离的问题&#xff0c;前者解决了进程、网络以及文件系统的隔离&#xff0c;后者实现了 CPU、内存等资源的隔离&#xff0c;但是在 Docker 中还有另一个非常重要的问题需要解决 - 也就是镜像。 镜像到底是什么&#…

Docker使用-构建MySQL

拉取官方镜像&#xff08;我们这里选择5.7&#xff0c;如果不写后面的版本号则会自动拉取最新版&#xff09; docker pull mysql:5.7 # 拉取 mysql 5.7 docker pull mysql # 拉取最新版mysql镜像MySQL文档地址 检查是否拉取成功 $ sudo docker images一般来说数据库容…

Java集合:什么是Java集合?

一、集合的由来 通常&#xff0c;我们的Java程序需要根据程序运行时才知道创建了多少个对象。但若非程序运行&#xff0c;程序开发阶段&#xff0c;我们根本不知道到底需要多少个数量的对象&#xff0c;甚至不知道它的准确类型。为了满足这些常规的编程需要&#xff0c;我们要…

Java集合:Map集合

一、简述 public interface Map<K,V>将键映射到值的对象。一个映射不能包含重复的键&#xff1b;每个键最多只能映射到一个值。 注意&#xff1a;Map中的集合不能包含重复的键&#xff0c;值可以重复。每个键只能对应一个值。 Map集合是键值对形式存储值的&#xff0c…

用离线编辑器Zoundry写zblog日志

Zoundry是免费的离线网志发布工具&#xff0c;由于家里的网络很差&#xff0c;写了一半的日志经常因为掉线而丢失&#xff0c;这样一款软件的确是很必要的。今天下载试用了一下&#xff0c;感觉的确不错。使用起来也很简单&#xff1a; 1.下载并安装zoundry软件&#xff1a;现…

Flume简单介绍

在一个完整的离线大数据处理系统中&#xff0c;除了HDFSMapReduceHive组成分析系统的核心之外&#xff0c;还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统&#xff0c;而这些辅助工具在hadoop生态体系中都有便捷的开源框架&#xff0c;在此&#xff0c;我们首先来…

Java并发篇_线程详解

线程&#xff08;thread&#xff09; 是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流&#xff0c;一个进程中可以并发多个线程&#xff0c;每条线程并行执行不同的任务。 一、线程的…

Spark-大规模数据处理计算引擎

官网&#xff1a;http://spark.apache.org 一、Spark是什么 Spark是一种快速、通用、可扩展的大数据分析引擎&#xff0c;2009年诞生于加州大学伯克利分校AMPLab&#xff0c;2010年开源&#xff0c;2013年6月成为Apache孵化项目&#xff0c;2014年2月成为Apache顶级项目。项目是…

CentOS7下Spark集群的安装

从物理部署层面上来看&#xff0c;Spark主要分为两种类型的节点&#xff0c;Master节点和Worker节点&#xff0c;Master节点主要运行集群管理器的中心化部分&#xff0c;所承载的作用是分配Application到Worker节点&#xff0c;维护Worker节点&#xff0c;Driver&#xff0c;Ap…

Scala变量和常用数据类型

一、 声明值和变量 Scala声明变量有两种方式&#xff0c;一个用val&#xff0c;一个用var。 声明方式&#xff1a;val / var 变量名 : 变量类型 变量值 val定义的值是不可变的&#xff0c;它不是一个常量&#xff0c;是不可变量&#xff0c;或称之为只读变量。 val示例&am…

(转)JVM监控工具介绍

2008年03月04日 16:57原作者&#xff1a; stone2083 原文地址&#xff1a;http://www.blogjava.net/stone2083/archive/2008/02/25/182081.htmljstatd启动jvm监控服务。它是一个基于rmi的应用&#xff0c;向远程机器提供本机jvm应用程序的信息。默认端口1099。实例&#xff1a;…

【Kubernetes】控制器Statefulset

Statefulset控制器 一、概念二、Statefulset资源清单文件编写技巧2.1、查看定义Statefulset资源需要的字段2.2、查看statefulset.spec字段如何定义2.3、查看statefulset的spec.template字段如何定义 三、Statefulset使用案例&#xff1a;部署web站点3.1、编写一个Statefulset资…

Java并发篇_Java内存模型

在并发编程中&#xff0c;我们通常会遇到以下三个问题&#xff1a;原子性问题&#xff0c;可见性问题&#xff0c;有序性问题。那么它们产生的原因和在Java中解决的办法又是什么呢&#xff1f; 一、内存模型的相关概念 ​ 计算机在执行程序时&#xff0c;每条指令都是在CPU中执…

Java并发篇_synchronized

synchronized是Java语言的关键字&#xff0c;当它用来修饰一个方法或者一个代码块的时候&#xff0c;能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中的用法。 一、为什么要使用synchronized 在并发编程中存在线程安全问题&#xff0c;主要原因有&…

Java并发篇_volatile

volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制&#xff1a;同步块&#xff08;或方法&#xff09;和 volatile 变量&#xff0c;相比于synchronized&#xff08;synchronized通常称为重量级锁&#xff09;&#xff0c;volatile更轻量级&#xff…

分布式文件系统:原理、问题与方法

本地文件系统如ext3&#xff0c;reiserfs等&#xff08;这里不讨论基于内存的文件系统&#xff09;&#xff0c;它们管理本地的磁盘存储资源、提供文件到存储位置的映射&#xff0c;并抽象出一套文件访问接口供用户使用。但随着互联网企业的高速发展&#xff0c;这些企业对数据…

JDK源码解析之java.util.Iterator和java.lang.Iterable

在Java中&#xff0c;我们可以对List集合进行如下几种方式的遍历&#xff1a;第一种就是普通的for循环&#xff0c;第二种为迭代器遍历&#xff0c;第三种是for each循环。后面两种方式涉及到Java中的iterator和iterable对象&#xff0c;接下来我们通过源码来看看这两个对象的区…

JDK源码解析之java.util.AbstractCollection

AbstractCollection类提供了collection的实现类应该具有的基本方法&#xff0c;具有一定的普适性&#xff0c;可以从大局上了解collection实现类的主要功能。 java.util.AbstractCollection这个类提供了对接口Collection骨骼级的实现。 一、源码解析 1、iterator():返回一个迭…