docker小白第一天

news2024/11/26 18:51:17

docker小白第一天

  • docker是什么
  • docker理念
  • 容器与虚拟机比较
  • docker能干什么
  • docker官网介绍
  • docker的基本组成
  • docker平台架构

docker是什么

系统平滑移植,容器虚拟化技术。即源代码+配置+环境+版本,打个包形成一个镜像文件,即软件带环境一起安装,通过docker引擎,在安装的时候,把开发的原始环境一模一样的复制过来完成运行。

docker理念

一次镜像、处处运行。在linux容器技术的基础上发展起来的。将应用打包成镜像,通过镜像成为运行在Docker的容器上面的实例,而docker在任何操作系统上都是一致的。
docker理念

容器与虚拟机比较

虚拟机就是带环境安装的一种解决方案,可以在一种操作系统里边运行另一种操作系统,比如windows10系统里边运行linux系统centos7。
虚拟机
Linux容器不是模拟一个完整的操作系统而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

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

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

docker能干什么

  • 更快速的应用交付和部署
  • 更便捷的升级和扩缩容
  • 更简单的系统运维
  • 更高效的计算资源利用
    随着微服务架构和Docker的发展,大量的应用会通过微服务方式架构,应用的开发构建将变成搭乐高积木一样,每个Docker容器将变成一块“积木”,应用的升级将变得非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速扩容,使应用系统的扩容从原先的天级变成分钟级甚至秒级。
    官网:docker官网:docker官网
    仓库:Docker Hub官网:docker仓库

docker官网介绍

  • Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux内核环境。Docker实质上是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的Linux主机。Docker 必须部署在 Linux内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux环境。
  • 前提条件:目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS 7(64-bit)上,要求系统为64位、Linux系统内核版本为3.8以上,常规选用Centos7.x。
    查看linux内核版本号:cat /etc/redhat- release
    查看系统架构:uname -r

docker的基本组成

从面向对象的角度:
镜像(image)类似于java中的类
容器(container)类似于java中的对象
仓库(repository)集中存放镜像文件的场所
从镜像容器角度
可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

docker平台架构

Docker是一个Client-Server结构的系统,Docker引擎,即守护进程运行在主机上,然后通过Socket连接从docker客户端访问,守护进程从docker客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境。
在这里插入图片描述

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

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

相关文章

企业接口测试流程总结,你都走了哪些弯路?背锅不存在的...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先我们要明确&a…

LeetCode 周赛上分之旅 # 37 多源 BFS 与连通性问题

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度…

ArcGIS制作带蒙版的遥感影像地图

这次文章我们来介绍一下,如何通过一个系统的步骤完成ArcGIS制作带蒙版的遥感影像地图。 主要的步骤包括: 1 添加行政区划数据 2 导出兴趣去乡镇矢量范围 3 添加遥感影像底图 4 制作蒙版 5 利用自动完成面制作蒙版 6 标注乡镇带晕渲文字 7 …

Golang 包详解以及go mod

Golang 中包的介绍和定义 包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,Go 语言为我们提供了 很多内置包,如 fmt、strconv、strings、sort、errors、time、encoding/json、os、io 等。 Golang 中的包可以分为三种:1、系统内置包 2、自定义包 3、第三方包…

云服务器SVN仓库搭建(以阿里云为例)

远程连接阿里云服务器 安装svn(注意需要root权限使用命令sudo su) yum install subversion 安装成功后查看svn版本 svnserve --version 创建版本库的根目录 mkdir /var/svn 创建代码仓库 svnadmin create /var/svn/test 当前生成的目录结构 此处为svn的配置文件 创建用户名…

C# App.config和Web.config加密

步骤1:创建加密命令 使用ASP.NET提供的命令工具aspnet_regiis来创建加密命令。 1、打开控制台窗口,在命令行中输入以下命令: cd C:\Windows\Microsoft.NET\Framework\v4.xxxxx aspnet_regiis.exe -pef connectionStrings "C:\MyAppFo…

【PyQt5程序的打包和发布】

【PyQt5程序的打包和发布】 1 安装Pyinstaller模块2 打包普通Python程序3 打包PyQt5程序4 打包资源文件 1 安装Pyinstaller模块 pip install Pyinstaller2 打包普通Python程序 普通Python程序由Python内部库提供,不包含第三方库模板。 使用如下命令打包&#xff1…

【Docker】数据库动态授权组件在Kubernetes集群下的测试过程记录

目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑,生产环境的权限一般都是要做最小化控制,尤其是数据库的操作授…

【现网】记一次并发冲突导致流量放大的生产问题

目录 事故现象 转账 业务背景介绍 背景一:转账流程 转账流程 转账异常处理 转账异常处理流程图 背景二:账户系统合并 实际全流程: 背景三:扣内存数据库逻辑 背景四:调用方重试逻辑 问题定位 总结 资料获取…

org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决

Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决 当在Hive中执行show locks语句时,出现"LockManager not specified"错误通常是由于…

认识“协议“序列化和反序列化

目录 前言 1 应用层 2 在谈协议 3 序列化和反序列化 4 网络版计算器 4.1 指定协议 request结构体 response结构体 4.2 服务端编写 4.3 客户端的编写 5 Json for C 的序列化和反序列化使用样例 前言 之前的socket编程,都是在通过系统调用层面,…

acwing第 115 场周赛第二题题解:维护最大值和次大值

一、链接 5132. 奶牛照相 二、题目 约翰的农场有 nn 头奶牛,编号 1∼n1∼n。 其中,第 ii 头奶牛的宽度为 wiwi,高度为 hihi, 有一天,它们聚餐后决定拍照留念。 关于拍照的描述如下: 它们一共拍了 nn…

C++初阶语法——命名空间

前言:C,即cplusplus,顾名思义,是C语言promax版本,C兼容C语言。 C的诞生是因为贝尔实验室的本贾尼等大佬认为C语言的语法坑实在太多,拥有许多不足之处(比如命名冲突,)&…

Vue3 实现产品图片放大器

Vue3 实现类似淘宝、京东产品详情图片放大器功能 环境&#xff1a;vue3tsvite 1.创建picShow.vue组件 <script lang"ts" setup> import {ref, computed} from vue import {useMouseInElement} from vueuse/core/*获取父组件的传值*/ defineProps<{images:…

通信原理板块-书籍推荐及学习系列

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 关注公众号&#xff0c;后台回复通信…

在WebStorm中通过live-server插件搭建Ajax运行环境

1.下载node.js 官网: https://nodejs.cn/download/ 2.配置Node.js的HTTPS 使用淘宝的镜像&#xff1a; npm config set registry https://registry.npm.taobao.org 也可以使用cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 配置之后可以验证是否成…

Linux(四)--包软件管理器与Linux上环境部署示例

一.包软件管理器【yum和apt】 1.先来学习使用yum命令。yum&#xff1a;RPM包软件管理器&#xff0c;用于自动化安装配置Linux软件&#xff0c;并可以自动解决依赖问题。通过yum命令我们可以轻松实现软件的下载&#xff0c;查找&#xff0c;卸载与更新等管理软件的操作。 最常用…

【Change】50 Matplotlib Visualizations, Python实现,源码可复现

详情请参考博客: Top 50 matplotlib Visualizations 因编译更新问题&#xff0c;本文将稍作更改&#xff0c;以便能够顺利运行。 1 Time Series Plot 时间串行图用于可视化给定指标如何随时间变化。在这里&#xff0c;您可以看到1949年至1969年间航空客运量的变化。查看此免费…

【Linux】socket编程简单的日志打印

1 UDP编程步骤 1.1 服务端 1.2 客户端 2 TCP编程步骤 2.1 服务端 2.2 客户端 3 日志打印

瑞吉外卖系统05

哈喽&#xff01;大家好&#xff0c;我是旷世奇才李先生 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一时间阅读&#xff0c;回复【资料】更有我为大家准备的福利哟&#xff0c;回复【项目】获取我为大家准备的项目 最近打算把我手里之前做的项目分享给大家&#…