docker简介和安装
什么是docker?
docker是基于Go语言编写的开源容器引擎,是操作系统级别的轻量级虚拟技术。主要用于应用打包、分发、部署。
打包:软件开发过程中,打包是将程序打包成软件包或者镜像的过程;在容器化程序中,打包是将应用程序依赖项、应用程序打包成镜像的过程。
分发:将打包完成的镜像上传至对应的仓库,已授权的其他用户可以获取该镜像。
部署:创建并运行容器的过程
docker的特性:
容器:是一种轻量级、独立运行的软件包,包含了应用程序及其运行依赖包(第三方库、运行环境配置、配置文件等);容器是镜像的一个运行实例。一个镜像可以被很多容器使用(这里可以把镜像想成一个类,容器就是该类的实例对象,在编程过程中,类只需要声明一次,但是可以new 出无数个对象)。
镜像:镜像是一个只读文件系统,镜像包含了应用程序运行所需的所有文件、依赖和配置。
仓库:集中存储和共享镜像的平台,跟git的仓库是一个意思。
跨平台:docker支持跨多个操作系统和平台的应用程序部署,无论是Linux、Windows、macos,均可使用相同的镜像和容器运行对应的程序
快速部署和拓展:docker可以将应用程序的依赖和程序本身与镜像一起打包,镜像又是在容器中运行,docker只需要一行命令就可以将容器启动,对应的程序便可以在容器中运行
简化配置和维护:docker容器间相互独立,每个容器的环境也是独立的,能够减少因为配置或者环境冲突的异常出现率,如遇异常也只需要对对应的容器环境进行维护即可。
docker与虚拟机的区别?
架构和隔离级别:
虚拟机:虚拟机需要在物理机上运行一个完整的操作系统,然后在该操作系统中去运行对应的程序。每个虚拟机都有自己的内核、操作系统资源;彼此间相互隔离,不受影响。
docker容器:共用宿主机的内核、操作系统资源。是在独立的空间(容器)中去运行相应的程序,容器间相互隔离,不受影响。
资源利用和运行效率:
虚拟机:每个虚拟机都需要自己的内核、操作系统,因此会占用较多的内存和存储空间,并且虚拟机运行时,是运行一个完整的系统,因此会在性能和运行效率存在一定的开销。
docker:容器共享宿主机的内核、操作系统;不需要额外的操作系统和资源。容器应用也能快速的启动,运行效率更快。
可移植性和部署:
虚拟机:可以在不同的物理机服务器和虚拟化平台运行,但是需要在这些平台安装和配置相应的虚拟机管理工具和环境,在配置过程中,可能需要解决环境冲突导致的问题。
docker:容器可以在docker支持的任何环境中运行,不需要单独配置或者安装相应的工具。
docker为什么运行比虚拟机快?
1.docker在启动时,只需要启动容器内部的进程,虚拟机在启动时,需要启动完整的操作系统,然后在去运行对应的程序。
2.docker的磁盘占用和内存占用比虚拟机低。
3.docker容器间公用物理机的内核、操作系统,虚拟机之间的内核、操作系统完全独立;很占用宿主机的资源。
如何安装docker?
以centos系统为例子:
1.更新软件包列表: sudo yum update
2.安装必要依赖项:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加Docker稳定版存储库:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装Docker引擎:sudo yum install docker-ce docker-ce-cli containerd.io
5.启动Docker服务:sudo systemctl start docker
6.验证安装:sudo docker run hello-world
--------------------学海无涯
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
docker简介和安装
什么是docker? docker是基于Go语言编写的开源容器引擎,是操作系统级别的轻量级虚拟技术。主要用于应用打包、分发、部署。 打包:软件开发过程中,打包是将程序打包成软件包或者镜像的过程;在容器化程序中,打…...
![](https://img-blog.csdnimg.cn/1b3dc99685b74fb4aacd28fba5bc407f.png)
记录问题: servlet获取项目包绝对路径
【2023-8-8 23:46:27 星期二】 如何获取在webapp下的路径?而不是target包下的webapp目录 比如这里应该获取到 F:\Tiam\Desktop\freemarker\freemarker-demo01\src\main\webapp 而readPath总是获取到 F:\Tiam\Desktop\freemarker\freemarker-demo01\target\freemarker-demo0…...
![](https://img-blog.csdnimg.cn/54277ef61b214e5ba6b74ba064bd6279.png)
C语言文件操作基本方法
1、文件的分类 ANSI C 的缓冲文件系统 缓冲文件系统 缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内…...
![](https://img-blog.csdnimg.cn/1d41e699e4f64e37be3d3fe618515a63.png)
SQL 相关子查询 和 不相关子查询、Exists 、Not Exists、 多表连接(包含自连接)
不相关子查询 子查询的查询条件不依赖于父查询,称不相关子查询。子查询可以单独运行的 select stu_id,sex,age from student t where sex(select sexfrom studentwhere stu_id10023 )相关子查询 关联子查询 子查询的查询条件依赖于父查询,称为 相关子…...
![](https://www.ngui.cc/images/no-images.jpg)
项目规范 编写规范(范例)
项目目录 目录接口参考 项目目录结构设计,增加部分领域模型后缀强制定义,方便统一编码风格。 controller:请求处理 RestController module:按大业务区分,对多个业务对象数据聚合处理 Component manager:…...
![](https://img-blog.csdnimg.cn/55927975aa6443f38c273d91a1b5d230.png)
MongoDB数据库操作及操作命令
目录 一、基础概念 二、安装mongod 三、命令交互数据库 (1)数据库命令 (2)集合命令 (3)文档命令 四、Mongoose (1)增加一条数据 (2)插入多个数据 &am…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux命令(62)之tee
linux命令之tee 1.tee介绍 linux命令tee于读取标准输入的数据,并将内容输出为文件 2.tee用法 tee [参数] [filename] tee参数 参数说明-a读取标准输入的数据,并将内容追加到文件,而非覆盖-i忽略中断信号 3.实例 3.1.将ls -l输出内容作为…...
![](https://img-blog.csdnimg.cn/aea707916bb746dbbd4721fee1004861.png)
搭建Repo服务器
1 安装repo 参考:清华大学开源软件镜像站:Git Repo 镜像使用帮助 2 创建manifest仓库 2.1 创建仓库 git init --bare manifest.git2.2 创建default.xml文件 default.xml文件内容: <?xml version"1.0" encoding"UTF-8" ?…...
![](https://img-blog.csdnimg.cn/d1c35da5db104aa194cfb685a9183a65.jpeg)
安卓:MMKV——键值存储库
目录 一、MMKV介绍 1.特点和优势: 2.使用指南: 3.依赖包: 二、MMKV的常用方法 1、初始化和获取实例: 2、存储数据: 3、读取数据 4、删除数据 5、其他操作: 三、MMKV的使用例子 MainActivityÿ…...
![](https://img-blog.csdnimg.cn/97f7c53ee7d44e3790aafac9137e35d1.png)
使用Python将图像转换为PDF:一次性解决您的批量转换需求
导语: 在数字化时代,我们经常需要处理大量的图像文件。将这些图像转换为PDF格式可以方便地存档、分享和打印。本文将介绍如何使用Python编程语言将图像批量转换为PDF,并提供了一个简单易用的图形界面来跟踪转换进度。 准备工作 在开始之前…...
![](https://img-blog.csdnimg.cn/3b4825bc10d543de921d9b00a0419905.png)
Vue——webpack
webpack 一、Install1.全局安装2.局部安装 二、总结1.打包2.定义脚本3.配置文件定义(webpack.config.js)4.项目重新加载依赖5.webpack打包Css6.style-loader 一、Install 1.全局安装 npm install webpack webpack-cli -g2.局部安装 以项目为单位,一个项…...
![](https://img-blog.csdnimg.cn/6cdd7c5a2a9941619e238c5a14eb1f88.png)
springboot房地产管理java购房租房二手房j客户sp源代码mysql
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 springboot房地产管理 系统1权限:管理员 …...
![](https://www.ngui.cc/images/no-images.jpg)
Gartner 发布影响数据科学和机器学习未来方向重要趋势
出品 | CSDN 云计算 供稿 | Gartner Gartner今日发布了影响数据科学与机器学习(DSML)未来方向的重要趋势。随着DSML行业的快速发展和演变,数据对于人工智能(AI)开发与运用的重要性日益提高,尤其是投资重点…...
![](https://www.ngui.cc/images/no-images.jpg)
72. 编辑距离
题目介绍 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:word1 "horse", word2 &q…...
![](https://www.ngui.cc/images/no-images.jpg)
Android12.0 原生系统SystemUI下拉状态栏和通知栏视图之锁屏通知布局
1.前言 在12.0的系统rom定制化开发中,对于系统原生systemui的锁屏界面的功能也是非常重要的,所以在锁屏页面布局中,也是有通知栏布局的,所以接下来对于息屏亮屏 通知栏布局的相关流程分析,看下亮屏后锁屏页面做了哪些功能 2.原生系统SystemUI下拉状态栏和通知栏视图之锁…...
![](https://img-blog.csdnimg.cn/e3d4e1c053354e6687a6ed8d756b4f6a.png)
周末在家值班,解决几个月前遗忘的Bug
问题: 周末被迫在家值班,无聊之际打开尘封已久的Bug清单,发现有Bug拖了几个月还没解决… 场景是这样子的,有个功能是拿Redis缓存热点数据进行展示,暂且称它为功能A,有个另外的功能B,它会去更新缓…...
![](https://www.ngui.cc/images/no-images.jpg)
Shell编程基础(十五)文本三剑客(sed)
文本三剑客(sed) 使用场景基本语法实例命令列表 使用场景 sed提供了一种面交互的方式修改文件内容。 它是一行一行处理,可以通过正则匹配要修改的部分 基本语法 基本语法 sed [-opt] command files(多个文件 空格隔开) sed 使用正则 sed -…...
![](https://img-blog.csdnimg.cn/62bddca65de24380a55f94a4e753c89b.png)
5,二叉树【p6-p7】
二叉树 5.1二叉树5.1.1例1:用递归和非递归两种方式实现二叉树的先序、中序、后序遍历5.1.1.1递归序的先序、中序、后序遍历先序遍历:中序遍历:后序遍历: 5.1.1.2非递归序的先序、中序、后序遍历先序遍历:中序遍历&…...
![](https://img-blog.csdnimg.cn/4cd83fe8357249759da89ed48a550405.png)
【Spring】如果你需要使用重试机制,请使用Spring官方的Spring Retry
文章目录 前言Spring Retry的基本使用第一步,引入Spring Retry的jar包第二步,构建一个RetryTemplate类第三步,使用RETRY_TEMPLATE注意事项 拓展方法降级操作重试策略:时间策略重试策略:指定异常策略 前言 Spring Retr…...
![](https://www.ngui.cc/images/no-images.jpg)
pagehelper 优化自定义分页和排序位置
pagehelper开源地址 https://github.com/pagehelper/Mybatis-PageHelper 1.手写Count查询优化 源码分页count时首先是判断是否存在手写的 {业务查询id}_COUNT 的查询count统计 private Long count(Executor executor, MappedStatement ms, Object parameter,RowBounds rowBound…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux下查询文件夹中文件数量的方法
一、前言 在Linux系统中,我们经常需要查询文件夹中包含多少文件。本文将介绍三种在Linux中查询文件夹中文件数量的方法,帮助你轻松获取所需信息。 二、方法 1、使用ls命令和wc命令 使用ls命令的-l选项和管道操作符|结合wc命令来统计文件数量…...
![](https://img-blog.csdnimg.cn/img_convert/baf657c8d28fab8a018a3d687cb9074c.jpeg)
PS透明屏,在科技展示中,有哪些优点展示?
PS透明屏是一种新型的显示技术,它将传统的显示屏幕与透明材料相结合,使得屏幕能够同时显示图像和透过屏幕看到背后的物体。 这种技术在商业展示、广告宣传、产品展示等领域有着广泛的应用前景。 PS透明屏的工作原理是利用透明材料的特性,通…...
![](https://www.ngui.cc/images/no-images.jpg)
Hbase-面试题
1. Hbase-region切分 自动切分,默认情况下 2.0版本,第一次region的数据达到256M,会进行切分,以后就是每达到10G切分一次,切分完成后,会进行负载均衡,均衡到其他regionserver预分区自定义rowke…...
![](https://img-blog.csdnimg.cn/593c5b7c421f4e338561911b5458538e.png)
图的宽度优先深度优先遍历
图常见的遍历方式有两种,一种是宽度优先遍历,一种是深度优先遍历。 宽度优先遍历 宽度优先遍历和之前介绍的二叉树的层级遍历类似,主要也是利用Queue来完成层级的遍历,除此之外,因为图中很可能有环,所以还…...
![](https://www.ngui.cc/images/no-images.jpg)
redis Set类型命令
Redis中的Set是一种无序、不重复的集合数据结构,它提供了一系列的操作命令用于对Set进行添加、删除和查找等操作。以下是Redis中Set类型常见的一些命令: SADD key member [member …]:将一个或多个成员添加到指定的集合中。 示例:…...
![](https://img-blog.csdnimg.cn/da99e79627664d6ebcac6683a7026447.png)
Netty框架自带类DefaultEventExecutorGroup的作用,用来做业务的并发
一、DefaultEventExecutorGroup的用途 DefaultEventExecutorGroup 是 Netty 框架中的一个类,用于管理和调度事件处理器(EventExecutor)的组。在 Netty 中,事件处理是通过多线程来完成的,EventExecutor 是处理事件的基…...
![](https://img-blog.csdnimg.cn/6ddb4715ce634c5bb74ba33c0bf0588c.png)
TCP的四次挥手与TCP状态转换
文章目录 四次挥手场景步骤TCP状态转换 四次挥手场景 TCP客户端与服务器断开连接的时候,在程序中使用close()函数,会使用TCP协议四次挥手。 客户端和服务端都可以主动发起。 因TCP连接时候是双向的,所以断开的时候也是双向的。 步骤 三次…...
![](https://img-blog.csdnimg.cn/f7a89d814cae4fb4be841c34dcef9a3a.png)
【网络编程】实现一个简单多线程版本TCP服务器(附源码)
TCP多线程 🌵预备知识🎄 Accept函数🌲字节序转换函数🌳listen函数 🌴代码🌱Log.hpp🌿Makefile☘️TCPClient.cc🍀TCPServer.cc🎍 util.hpp 🌵预备知识 &…...
![](https://www.ngui.cc/images/no-images.jpg)
centos离线部署docker
有些内部环境需要离线部署,以下做一些备忘。 环境:centos7.9 准备文件: docker-20.10.9.tgz,下载地址 https://download.docker.com/linux/static/stable/x86_64/docker.service,内容见下文daemon.json,内…...
![](https://img-blog.csdnimg.cn/img_convert/edbe886599a1c07385847a169dc67809.png)
ffmpeg使用滤镜对视频进行处理播放
一、前言 在现代的多媒体处理中,视频和音频滤镜起着至关重要的作用。可以帮助开发者对视频和音频进行各种处理,如色彩校正、尺寸调整、去噪、特效添加等。而FFmpeg作为一个功能强大的开源多媒体框架,提供了丰富的滤镜库,使我们能够轻松地对多媒体文件进行处理和转换。 本…...
![](/images/no-images.jpg)
寻找锦州网站建设/百度搜索seo
一、查询端口下请求总数 netstat -nat|grep -i "80"|wc -l 转载于:https://www.cnblogs.com/lsan/p/4678019.html...
![](https://img-blog.csdnimg.cn/img_convert/c1cdec2c697616df135ca053c8b41f4c.png)
广东网站建设方案/日本搜索引擎naver入口
Redis是基于内存操作的非关系型数据库,Redis中提供了多种内存回收策略,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间,那么选择淘汰哪些对象呢࿱…...
![](https://images2015.cnblogs.com/blog/832799/201608/832799-20160828200147699-308006385.png)
厦门做直销网站公司APP/百度网页搜索
EF-CodeFirst-3搞事 本文学习旺杰兄的 CodeFirst 系列教程而写。尽量摆脱之前的影子写出自己的理解 表间关系、级联删除 简单玩法已经走通了,但是我就是想搞点事出来。今天来搞搞表间关系和级联删除 表间关系 毫无疑问在设计表的时候,对于两张有关联的表…...
![](/images/no-images.jpg)
中国建设银行官网企业网银登录/长沙seo行者seo09
在Oracle中查看所有的表:select * from tab/dba_tables/dba_objects/cat;看用户建立的表 :select table_name from user_tables; //当前用户的表select table_name from all_tables; //所有用户的表select table_name from dba_tables; //包括系统表select * from user_indexes…...
![](/images/no-images.jpg)
搭建网站需要什么技术/色盲
原文:REACTIVE APPS WITH MODEL-VIEW-INTENT - PART6 - RESTORING STATE 作者:Hannes Dorfmann 译者:却把清梅嗅 在前几篇文章中,我们讨论了Model-View-Intent(MVI)和单向数据流的重要性,这极大简化了状态的恢复&#…...
![](/images/no-images.jpg)
龙岗网站建设公司官网/免费做网站怎么做网站
刚开始学的时候我们看到的就是Bio模式的socket、serverSocket 这也是java最早提供的,其实早期的tomcat对请求的处理方式也是这种多线程模式的,下面看看代码…… 一、客户端 package com.test;import java.io.IOException; import java.io.InputStream; i…...