docker学习__基本概念

lizhi199322 lizhi199322     2023-04-25     560

关键词:

其他知识点,会在后续学习过程中在做完善。

docker分为两个版本:

  • docker-ee 企业版(付费)
  • docker-ce 社区版(开源免费)

docker架构(docker architecture)分为3个部分:

  1. docker的客户端(client)
  2. docker的服务端(server)
    • docker的守护进程(daemon)
    • docker的容器(container)
    • docker的镜像(image)
  3. docker的镜像仓库(registry)

  不论是Client端还是Server端,都是由docker一个程序提供。

  其中的一个子程序叫做daemon,表示为守护进程。运行daemon此主机就变成了守护进程服务器。

 

镜像(Image): 

对Linux而言:
1.内核启动
2.挂载root文件系统,为其提供用户空间支持。
  注:Docker镜像(Image),相当于是一个root文件系统。
Docker 镜像是一个特殊的文件系统:
1.提供了:容器运行时所需的程序、库、资 源、配置等文件,
2.包含了:一些为运行时准备的一些配置参数(如匿名卷、环境 变量、用户等)。
注意:Docker镜像不包含任何动态数据,其内容在构建之后也不会被改变,内容是只读的
1.镜像是怎么构建的?
镜像构建是一层层构建的。前一层是后一层的基础,每一层构建完就不会在发生发改变,后一层上的
任何改变只发生在自己这一层。
2.为什么使用分层存储?
因为镜像包含操作系统完整的root文件系统,其体积庞大,因此在Docker设计时,就充分利用Union FS的技术,
将其实际为分层存储的架构。镜像只是一个虚拟概念,它由多层文件系统联合组成。
3.镜像是否可以复用?
分层存储的特征使得镜像可以复用,使用之前构建好的镜像作为基础层,进一步添加新的层,定制自
己所需的内容,构建新的镜像。
4.构建镜像时需要注意:
镜像构建时,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。

 

容器(container):

  1.容器可以被创建,启动,停止,删除,暂停等。

  2.容器实际是进程,但与直接在宿主机执行的进程的不同,容器进程运行于属于自己的独立的命名空间。

  3.容器内的进程是运行在一个隔离的环境里,使用起来就像是在一个独立于宿主的系统下操作一样。

  4.容器可以拥有自己的root文件系统,网络配置,进程空间,用户ID空间。这种特性使得容器封装的应

     用比直接在宿主运行更加安全。

  5.容器也是分层存储。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,

     这是为容器运行时读写而准备的存储层是容器存储层。

 
仓库(registries):

     镜像构建完成后,可以很容易在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像

  我们需要一个集中的存储,分发镜像的服务,Docker registries就是这样的服务。一个Docker registries中

  可以包含多个仓库;每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

    通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应用软件的各个版本,我们可

  以通过<仓库名>:<标签>的格式来指定具体是一个软件哪个版本的镜像,如不给出标签,将以latest作为默认标签。

  以nginx镜像为例,nginx是仓库的名字,其内包含有不同的版本标签,如,1.14,1.17我们可以通过nginx:1.15,

  或者ubuntu:16.04来具体指定所需哪个版本的镜像,如果忽略了标签,比如ubundu,那将视为ubuntu:latest。

    仓库名经常以两段式路径形式出现,比如jwilder/nginx-proxy,前者往往意味着Docker registries多用户

  环境下的用户名,后者则往往是对应的软件名。但这并非绝对,取决于所使用的具体Docker registries的软件或服务。

    

机器学习基本概念总结(代码片段)

一,余弦相似度与欧氏距离1.1,余弦相似度通过对两个文本分词,TF-IDF算法向量化,利用空间中两个向量的夹角,来判断这两个向量的相似程度:(计算夹角的余弦,取值0-1)当两个向量夹角越大,距离越远,最大距离就是两个向... 查看详情

docker学习笔记docker相关概念,基本操作

计划:Docker学习笔记【2】Docker基础操作实操记录,Docker仓库、数据卷,网络基础学习---40注:所有操作在root下执行--1--概念:1、Docker镜像:镜像就是一个只读的模板,用于创建docker容器。Docker提供了简单的机制创建或者更新现... 查看详情

002docker学习__对docker架构的理解(代码片段)

本文内容概述对docker架构图的理解配置远端客户机请求本地Docker主机对镜像(Image),容器(Container),仓库(Registry)的理解Docker架构图Docker的架构组成Docker客户端-Client端Docker服务器端-DOCKER_HOSTDockerRegistry-Docker的镜像仓库Docker... 查看详情

docker_1基础概念

容器目的:资源隔离。没有主机级别隔离彻底。jail.chroot.用户空间隔离:namespaces       UTS:主机名和域名。       Mount:挂载点(文件系统。)       IPC:进程间通信、共享内存。       PID:... 查看详情

003docker学习__commit命令构建docker镜像

为什么需要自己构建Docker镜像使用docker仓库中镜像的好处对于Docker用户来说,最好的情况是不需要自己创建镜像。因为使用docker官方仓库中的镜像好处是省去自己做镜像的工作量。在docker的官方仓库中,几乎所有常用的数据库、... 查看详情

09_1_线程的基本概念

09_1_线程的基本概念1. 线程的基本概念线程的一个程序内部的顺序控制流。线程和进程的区别每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销。线程可以看成是轻量级的进程,同一类线程共享... 查看详情

es学习第六课,es基本搜索_search(代码片段)

 前面几课ES的基本概念、安装和分词都讲过了,下面我们就来实战一下ES的核心功能-搜索,这节课我们主要讲的是基本搜索_search(注意:ES的关键字都要加前缀_,所以我们在定义索引、类型名称时不要带_)。我们先通过kibana插... 查看详情

深度学习基础阶段

IDH_1000=1.1课程介绍&机器学习介绍.html;EvernoteExportIDH_1001=1.2深度学习(DeepLearning)介绍.html ;EvernoteExportIDH_1002=2基本概念(BasicConcepts).html ;EvernoteExportIDH_1003=3.1决策树(decisiontree)算法.html ;EvernoteExpo 查看详情

docker学习04_镜像管理

  运行容器时,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从 DockerHub 公共镜像源下载。可以在浏览器中访问 https://hub.docker.com/search?q=&type=image 来搜索和查看官方镜像仓库... 查看详情

机器学习概念_2

降低损失:减少模型预测和标签之间的误差迭代方法:在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止  查看详情

004docker学习__dockerfile_build命令构建docker镜像(代码片段)

Dockerfile介绍  Dockerfile是一个文本文件,记录了镜像构建的所有步骤。 第一个Dockerfile,构建镜像的过程详解  用Dockerfile创建centos-vim,就是编写Dockerfile文件,在基础镜像centos:centos7.4.1708上安装vim,镜像构建的重要部分[root... 查看详情

docker学习__docker命令[dockerversion和dockerinfo](代码片段)

其他知识点,会在后续学习过程中再做完善。Docker安装成功后,查看安装的Docker的相关信息。Docker命令:dockerversion:显示Docker版本信息。[root@Dockerdocker]#dockerversionClient:DockerEngine-Community#[docker客户端的相关信息]Version:19.03.5   ... 查看详情

面向对象的基本概念_7

一。基本概念   1.类和对象是面向对象中的两个基本概念  2.“类”指的是一类实物,是一个抽象的概念  3.“对象”是属于某个类中的一个实体,是一个具体存在的实物    #类是一种“模板”,可以通过这种模板... 查看详情

javaweb_01_html基本学习

body.markdown-body{padding:30px}.markdown-body{color:#333333;overflow:hidden;font-family:"HelveticaNeue",Helvetica,"SegoeUI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6}.markdown-bodya{ba 查看详情

docker_03_彻底搞懂dockerfile文件(代码片段)

文章目录一、前言二、Dockerfile基本命令2.1FROM(导入基础镜像,几乎是必须的,就像是java程序中的import导入)2.2RUN(在镜像内部执行一些命令,类似java程序中的main函数)2.3COPY和ADD(都是类似linuxcp命令,放在一起学习)2.4... 查看详情

docker容器学习一

Docker学习一650)this.width=650;"src="https://s1.51cto.com/wyfs02/M01/A5/A7/wKioL1nBFeKjYxV8AAAWUy6LkKo280.png-wh_500x0-wm_3-wmp_4-s_1762159664.png"title="图片1.png"alt="wKioL1nBFeKjYxV8AAAWUy6LkKo280.png-w 查看详情

docker容器的基本使用

上一篇docker的安装:http://wangjiatong.blog.51cto.com/11834370/1885951启动容器:650)this.width=650;"src="http://s3.51cto.com/wyfs02/M00/8C/12/wKioL1hhEiqCUJV-AAB3hUG1xhs308.png-wh_500x0-wm_3-wmp_4-s_3797455628.pn 查看详情

note_001数据操作深度学习_学习笔记(代码片段)

...和切片节省内存转换为其他Python对象小结练习练习答案要学习深度学习,首先应该掌握一些基本技能。所有机器学习方法都涉及从数据中提取信息。因此,我们先学习一些关于数据的实用技能,包括存储、操作和预处... 查看详情