Docker基本管理和虚拟化

一、docker的发展历史

https://www.cnblogs.com/rongba/articles/14782624.htmlicon-default.png?t=N7T8https://www.cnblogs.com/rongba/articles/14782624.html

二、docker的概述

  Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。
  Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。
  Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的可移植的自给自足的容器。

  Docker的设计宗旨:封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。

三、容器的特点

  • 灵活:即使是最复杂的应用也可以集装箱化。
  • 轻量级:容器利用并共享主机内核。
  • 可互换:可以即时部署更新和升级。
  • 便携式:可以在本地构建,部署到云,并在任何地方运行。
  • 可扩展:可以增加并自动分发容器副本。
  • 可堆叠:可以垂直和即时堆叠服务。

四、docker与虚拟机的区别

特性Docker容器虚拟机
启动速度 秒级分钟级
计算能力损耗几乎无损耗 50%左右
性能接近原生
系统支持量(单机)上千个几十个
隔离性资源隔离/限制完全隔离

五、容器技术的分类

  • docker
  • podmandocker——相似 OCI  redhat
  • K8s
  • container——docker核心组件之一
  • LXC——linux容器化技术
  • crio——轻量级,专门用于 k8s
  • apche mesos——容器编排平台

六、容器的重要技术

  docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作

七、namespace的六项隔离

namespace系统调用参数隔离内容
UTSCLONE_NEWUTS主机名与域名
IPCCLONE_NEWWIPC信号量、消息队列和共享内存
PIDCLONE_NEWPID进程编号(重点)
NETWORKCLONE_NEWNET网络设备、网络栈、端口等(重点)
MOUNTCLONE_NEWNS挂载点(文件系统)
USERCLONE_NEWUSER用户和用户组(3.8以后的内核才支持〉

八、docker的核心概念

  • 镜像

    docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 docker容器引擎的只读模板。

  • 容器

    Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。

  • 仓库

    Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。

    Docker 的镜像、容器、日志等内容全部都默认存储在/var/lib/docker

九、docker的安装

  9.1 安装依赖包

安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

yum-utils:提供了 yum-config-manager 工具。


device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。


device mapper:存储驱动程序需要 device-mapper-persistent-data 和 lvm2。 

  9.2 安装阿里云镜像源

设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

  9.3 安装docker-ce

yum install -y docker-ce docker-ce-cli containerd.io

  9.4 启动docker

systemctl start docker.service
systemctl enable docker.service 

  9.5 查看docker版本信息

查看 docker 版本信息
docker version

  9.6 查看docker信息

docker 信息查看
docker info  

  9.7 搜索nginx镜像

搜索镜像
格式:docker search 关键字

  9.8 获取镜像nginx

获取镜像
格式:docker pull 仓库名称[:标签]

  9.9 镜像加速下载

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企业应用、物联网等云计算服务。icon-default.png?t=N7T8https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

 9.10 创建docker文件夹并配置相关文件

mkdir -p /etc/docker


tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ae3f5qei.mirror.aliyuncs.com"]
}
EOF


systemctl daemon-reload


systemctl restart docker

  9.11 查看镜像

查看下载的镜像文件信息
cat /var/lib/docker/image/overlay2/repositories.json

#查看下载到本地的所有镜像
docker images

REPOSITORY:镜像属于的仓库


TAG:镜像的标签信息,标记同一个仓库中的不同镜像


IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像


CREATED:镜像创建时间;


VIRTUAL SIZE:镜像大小

9.12 根据镜像的唯一标识 ID 号,获取镜像详细信息

  用docker images来查看并获取ID号,然后用docker inspect ID查看详细信息!

  注意:这里的ID号用自己的,下列为举例使用

格式:docker inspect 镜像ID号
docker inspect ae2feff98a0c

  9.13 为本地镜像添加新的标签,同时删除镜像

为本地的镜像添加新的标签
格式:docker tag 名称:[标签] 新名称:[新标签]

删除镜像

docker rmi 仓库名称:标签

docker rmi 镜像ID号

  9.14 存出镜像

存出镜像:将镜像保存成为本地文件
格式:docker save -o 存储文件名 存储的镜像

  9.15 存出nginx文件

载入镜像:将镜像文件导入到镜像库中
格式:
docker load < 存出的文件

docker load -i 存出的文件

  9.16 添加新的标签同时登录公共仓库

    上传镜像

十、虚拟化

  10.1 虚拟化概述

    虚拟化:将应用程序和系统内核资源进行解耦,以操作系统级别进行隔离,目的是提高资源利用率

  10.2 虚拟化架构

  • 寄居架构

    本机(真实操作系统)--->虚拟化产品--->虚拟化操作系统/软件

  • 源生架构

    裸金属(服务器)--->虚拟化产品

  10.3 核心组件

    两大核心组件:QEMU、KVM

  10.4 虚拟化类型

    在一个操作系统内,模拟多个操作系统,以软件的方式模拟物理设备的功能

  10.5 虚拟化产品对比

  1. 仿真虚拟化:对系统硬件没有要求,性能要求最低

  2. 半虚拟化:虚拟机可以使用真机

  3. 全虚拟化:直接使用物理硬件,性能要求高

  • vmware:客户端
 vmware workstation:个人在windows安装的虚拟机
​vmware Fusion MAC
  • vmware服务端 exsi VMware vsphere 裸金属 全虚拟化,直接使用物理硬件,性能高 客户端连接 VMware vsphere 现企业,网页端连接 VMware vsphere
  • KVM、openstack linux环境虚拟机 私有云环境 KVM基于内核的虚拟机主机
  • 半虚拟化:reh1 5 自带的xen(虚拟机监视器) 微软:Microsoft Hyper-v virtualBOX 7.0--->虚拟盒子 cirix Hypervisor

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

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

相关文章

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a…

SpringBoot Bean管理(扫描、注册、注册条件)

Bean扫描 一般的扫描包路径 需要使用xml标签或者是ComponentScan(basePackages “xxx.xxx”) ,但是在SpringBoot中不需要。 在springBoot 项目的启动类中有一个注解&#xff1a;SpringBootApplication,这个注解包含以下注解&#xff1a; 但是ComponentScan并没有指明包路径…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是&#xff1a;“任何人都可以自由使用、更改和共享&#xff08;以修改或未修改的形式&#xff09;的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…

Maven基础篇5

私服 私服目的&#xff0c;方便公司内计算机通信&#xff0c;方便程序员们开发时资源互换&#xff1b; 1.Nexus私服 https://help.sonatype.com/repomanager3/download 可下载&#xff0c;第一个是服务器&#xff0c;第二个是工作空间 bin中有可执行命令 nexus.exe/run端口…

比亚迪唐EV和唐DM-p荣耀版上市,成为新能源汽车市场中的佼佼者!

随着环保理念的深入人心&#xff0c;新能源汽车市场正迎来前所未有的发展机遇。在这个变革的浪潮中&#xff0c;唐EV和唐DM-p荣耀版的上市无疑为市场注入了新的活力。它们凭借先进的技术、卓越的性能以及豪华配置&#xff0c;成为了新能源汽车市场中的佼佼者。然而&#xff0c;…

【飞桨AI实战】人体姿态估计:零基础入门,从模型训练到应用开发

前言 本次分享将带领大家从 0 到 1 完成一个人体姿态估计任务&#xff0c;覆盖数据准备、模型训练、推理部署和应用开发的全流程&#xff0c;项目将采用以PaddlePaddle为核心的飞桨深度学习框架进行开发&#xff0c;并总结开发过程中踩过的一些坑&#xff0c;希望能为有类似项…

增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM,Python代码)

1.效果视频&#xff1a;增加PyQt5界面的交通流量预测&#xff08;模型为CNN_GRU&#xff0c;CNN_BiGRU_ATTENTION&#xff0c;LSTM&#xff09;_哔哩哔哩_bilibili&#xff09; 2.三个模型和数据集的介绍 交通流量预测(python代码&#xff0c;压缩包中带有数据&#xff0c;CN…

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion 基于函数计算FC2.0部署AI数字绘画stable-diffusion基于函数计算FC3.0部署AI数字绘画stable-diffusion总结 在经过了上一次曲线救国失败经历之后&#xff0c;失败经历参考博文&#xff1a;https://developer.aliyun.c…

docker-003镜像制作

步骤 使用docker commit提交容器使之成为镜像以ubuntu安装vim后的容器为例 1 ubuntu安装vim 启动容器 docker run -it --nameubuntu-vim ubuntu /bin/bash安装vim apt-get update apt-get install vim2 提交容器作为镜像 查看容器 docker ps -a提交容器作为镜像 命令格式&…

SimManager助力巴西航空工业公司搭建功能完善的仿真平台

巴西航空工业公司在实施构建结构分析平台之前&#xff0c;使用内部作业调度批处理程序在大型计算机上进行求解作业&#xff0c;前处理器和后处理器在本地工作站上运行&#xff0c;这些程序生成的工程数据存储在共享网络目录中&#xff0c;这一过程带来了一些问题&#xff1a; 为…

STM32 MPU配置参数

TXE LEVEL一般只用MPU_TEX_LEVEL0 1 - 1 - 1 -0性能最强&#xff08;TEX - C - B- S&#xff09;. #define MPU_TEX_LEVEL0 ((uint8_t)0x00) #define MPU_TEX_LEVEL1 ((uint8_t)0x01) #define MPU_TEX_LEVEL2 ((uint8_t)0x02) 基于上表进行常用配置 &#xff…

C语言 | Leetcode C语言题解之第41题缺失的第一个正数

题目&#xff1a; 题解&#xff1a; int firstMissingPositive(int* nums, int numsSize) {for (int i 0; i < numsSize; i) {while (nums[i] > 0 && nums[i] < numsSize &&nums[nums[i] - 1] ! nums[i]) {int t nums[nums[i] - 1];nums[nums[i] -…

【办公类-26-01】20240422 UIBOT网络教研(自动登录并退出多个账号,半自动半人工)

作品展示&#xff1a; 背景需求&#xff1a; 每学期有多次网络教研 因为我有历任搭档的进修编号和登录密码&#xff0c; 所以每次学习时&#xff0c;我会把历任搭档的任务也批量完成。 但是每次登录都要从EXCEL里复制一位老师的“进修编号”“密码”&#xff0c;还要点击多次…

慧明咨询:成绩公式,发现未知,助力进步

在当今社会,数以万计的学子面临着激烈的教育竞争。2000万的中考生、1000万的高考生、300万的考研生以及500万的国考备考者,都在为了通过这“独木桥”而战。 面对有限的优质学区、师资力量的不足、以及巨大的心理压力,学生及其家长们焦虑不已。为此,深圳市慧明咨询顾问有限公司…

[Meachines][Medium]IClean

Main $ nmap -p- -sC -sV 10.10.11.12 -Pn --min-rate 1000 $ echo "10.10.11.12 capiclean.htb">>/etc/hosts 这题可能和python的SSTI有关 $ gobuster dir --url "http://capiclean.htb" --wordlist /usr/share/seclists/Discovery/Web-Content/c…

SpringMvc(2)RequestMapping注解

RequestMapping注解 1 、RequestMapping的作用2、RequestMapping的出现位置3、类上与方法上结合使用4、RequestMapping注解的value属性4.1 value属性的使用4.2 Ant风格的value4.3 value中的占位符&#xff08;重点&#xff09; 5、RequestMapping注解的method属性5.2衍生Mappin…

二维码图片的链接怎么提取?在线获取解码链接的方法

随着现在二维码成为内容展示的主要用途&#xff0c;很多场景下都会需要通过扫码的方式在手机上获取内容。那么在遇到无法扫码的情况时&#xff0c;可以通过提取二维码短链接来访问内容&#xff0c;点击链接跳转到对应的内容页面。 二维码链接想要快速的提取出来&#xff0c;最…

(二)Go的Mysql、Redis、Cookie、Logger等的文件配置

初始化配置 文章目录 初始化配置一、配置yaml文件二、Go读取配置文件三、初始化日志Logger四、初始化数据库&#xff08;MySQL或SqlLite&#xff09;五、初始化缓存&#xff08;Redis&#xff09;六、中间件服务&#xff08;middleware&#xff09; 一、配置yaml文件 Server:M…

Github进行fork后如何与原仓库同步

前言 fork了一个仓库以后怎么同步源仓库的代码&#xff1f; 步骤 1、执行命令 git remote -v 查看你的远程仓库的路径。 以一个实际例子说明&#xff0c; 来源仓库&#xff1a; TheFirstLineOfCode/basaltgit remote -v得到&#xff1a; origin https://github.com/ghmi…

53.基于微信小程序与SpringBoot的戏曲文化系统设计与实现(项目 + 论文)

项目介绍 本站采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的戏曲文化系统设计与实现管理工作系统化、规范化。 技术选型 后端:…