当前位置: 首页 > news >正文

Docker学习笔记---day001

Docker学习笔记—day001

文章目录

  • Docker学习笔记---day001
    • 1、Docker基本概念
      • 1.1、问题1:为什么会有Docker的出现呢?
      • 1.2、Docker概念(go语言)
      • 1.3、容器和虚拟机技术
      • 1.4、Docker和虚拟机的不同之处
      • 1.5、Docker的优点
    • 2、Docker的下载安装
      • 2.1、镜像
      • 2.2、容器
      • 2.3、仓库
    • 3、Docker图解与工作原理
      • 3.1、图解操作
      • 3.2、Docker的工作原理

1、Docker基本概念

1.1、问题1:为什么会有Docker的出现呢?

由于开发环境和测试环境可能存在版本差异配置不一致,导致代码无法正常运行。

解决方案:采用Docker容器化部署完整复制原始运行环境。(完成系统的平滑移植、容器虚拟化技术)

Docker的出现打破了过去的“程序即应用”的观念。通过镜像(Images)将作业系统核心除外,运行应用程序所需要的系统环境,由上而下打包,达到应用程序跨平台间的无缝接轨运作

例如:我们可以将其想象为VM创建虚拟机的过程
在这里插入图片描述

1.2、Docker概念(go语言)

Docker解决了运行环境配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

Docker的主要目标是“Build,Ship and Run Any App,Anywher”,即通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能够做到“一次镜像、到处运行”。

1.3、容器和虚拟机技术

  • 传统虚拟机技术:基于安装在操作系统上的虚拟机管理系统(VM),创建虚拟机(虚拟出各种硬件),在虚拟机上安装操作系统(Centos 7 ),在从操作系统中部署相关应用(Jar包)。
    缺点: 资源占用多、冗余步骤多、启动慢
    例如:有Mysql、Redis、MongoDB分别在三台不同的Centos7中,此时会造成资源浪费,其实三个环境完全可以复用一台Centos 7 。
  • 容器虚拟化技术(LXC):是与系统其它部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。
    在这里插入图片描述

Docker容器是在操作系统层面上实现了虚拟化,直接复用本地主机的操作系统,而传统虚拟机则是在硬件层面实现虚拟化。与传统虚拟机相比,Docker优势体现为启动速度快,占用体积小

1.4、Docker和虚拟机的不同之处

  • 传统虚拟机技术室虚拟出一套硬件后,在其上运行一个完整的从操作系统,在该系统上在运行所需应用进程。
  • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且没有进行硬件虚拟。因此容器要比传统虚拟机更轻便
  • 每个容器之间相互隔离,每个容器都有自己的文件系统,容器之间进程不会相互影响,能区分计算资源

1.5、Docker的优点

  • 一次构建、随处运行:
    更快速的应用交付和部署、更便捷的升级和扩缩容、更简单的系统运维、更高效的计算资源利用。
  • 应用场景
    Docker借鉴了集装箱的概念。将标准的集装箱运往各地,Docker将这个模式运用到自己的设计中,唯一不同的:Docker运输的是软件,集装箱是货物。

2、Docker的下载安装

Docker官网:http://www.docker.com/
Docker Hub官网(安装Docker镜像的仓库):https://hub.docker.com/

Docker并非是一个通用的容器,它依赖于已存在并运行的Linux内核环境。
在这里插入图片描述
Docker的三件套:镜像(Image)、容器(Container)、仓库(Repository)
Docker镜像(Image)就是一个只读的模版。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
相当于容器的“源代码”,docker镜像文件类似于Java的类模版,而Docker容器实例类似于Java中new出来的实例对象

Docker面向对象
容器对象
镜像

2.1、镜像

  • 面向对象的角度
    Docker 利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台
  • 镜像的角度
    对象**的角度
    Docker 利用可以把容器看做是一个简易版的Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

2.2、容器

在这里插入图片描述
容器实例由两部分所组成:最小最核心的Linux内核文件像Redis、Mysql这样应用所组成

2.3、仓库

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

  • Maven仓库:存放各种jar包的地方
  • github仓库:存放各种git项目的地方
  • Docker Hub:存放各种镜像模版的地方。

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

最大的公开仓库是Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。

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

  • 镜像文件:image文件生成的容器实例,本身也是一个文件,称为镜像文件。
  • 容器实例:一个容器运行一种服务,当我们需要的时候,就可以通过Docker客户端创建一个对应的运行实例,也就是我们的容器。
  • 仓库:就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以。

3、Docker图解与工作原理

3.1、图解操作

在这里插入图片描述

  • docker build:根据Dockerfile中的指令自动构建新的Docker镜像。
  • docker pull:从远程仓库拉取镜像并下载到本地仓库。
  • docker run:根据制定的镜像版本,创建并启动一个新的容器。

3.2、Docker的工作原理

Docker是一个Cilent-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境。

在这里插入图片描述

http://www.dtcms.com/a/597103.html

相关文章:

  • 教做面包的网站wordpress html 单页模板
  • 网站建设公司织梦模板下载黑龙江做网站的公司有哪些
  • 当电脑开机自动进入 BIOS 更新画面时,不必惊慌~
  • 高端紧固件制造重镇, 嘉兴迈向产业新高度
  • Q3中国笔记本电脑线上市场销量363万台 联想位居第一
  • 最新安卓和IOS手机安装油猴(Tampermokey)插件教程,手机安装篡改猴教程
  • 第25集科立分板机:从效率到精度科立分板机如何重塑电子制造分板流程?
  • 做的比较好的电商网站wordpress网盘外链插件
  • 做京挑客的网站怎么做网站关键词推广
  • 时间触发协议(Time-Triggered Protocol,TTP)
  • C++ 面试高频考点 链表 优先级队列 递归 力扣 23. 合并 K 个升序链表
  • jsp网站开发文献网站开发赚钱
  • 矩阵在图像处理中的应用
  • Nginx集群与SpringCloud Gateway集成Nacos的配置指南
  • 天机学堂-自定义部署详细流程(部署篇:安装虚拟机、docker)
  • 35.微调BERT
  • 【Docker】定义和运行多容器应用程序
  • 蓝桥java数组切割
  • 高级编程培训 | 提升编程能力,助力职业发展的全方位学习路径
  • 【大模型训练】RL中权重更新 学习 reduce_tensor
  • 做网站优化有什么途径公司的企业邮箱怎么查询
  • ComfyUI+RX5700XT+Ubuntu25.04运行配置
  • 【Windows Docker】docker挂载解决IO速度慢的问题
  • 小练11.11
  • 怎么让网站无法自适应可信网站查询
  • 《国内可训练的主流大模型及相关平台》
  • MCP-stdio通信
  • 电商专业培训网站建设网页设计工作岗位及薪资
  • 全球文献智能引擎,突破知网局限
  • 邮件接码API实战教程与代码解析