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://xiahunao.cn/news/2981240.html

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

相关文章

CSS的网页美化功能

<1>文字类 通常情况下&#xff0c;一般使用span对文字进行重点突出&#xff0c;用div来操作一段代码块。 字体的所有属性&#xff1a; 属性描述font在一个声明中设置所有的字体属性font-family指定文本的字体系列font-size指定文本的字体大小font-style指定文本的字体样…

route-policy和ACL、ip-prefix组合时permit和deny的作用

route-policy配置实例 (1)route-policy为permit&#xff0c;ACL有permit也有deny(2)route-policy为permit&#xff0c;ACL有permit也有deny(3)route-policy为deny&#xff0c;ACL有permit也有deny(4)route-policy为deny&#xff0c;ACL也为deny(5)route-policy为deny&#xff0…

智慧文旅:引领旅游产业智慧升级的创新模式

一、智慧文旅是什么&#xff1f; 智慧文旅是指以当地特色文化为核心&#xff0c;借助现代科技手段&#xff0c;实现旅游景区全面智慧升级的旅游模式。在智慧文旅中&#xff0c;新一代信息网络技术和装备得到充分运用&#xff0c;文化旅游基础设施得到新建和改善&#xff0c;特…

基于FPGA轻松玩转AI

启动人工智能应用从来没有像现在这样容易&#xff01;受益于像Xilinx Zynq UltraScale MPSoC 这样的FPGA&#xff0c;AI现在也可以离线使用或在边缘部署、使用.可用于开发和部署用于实时推理的机器学习应用&#xff0c;因此将AI集成到应用中变得轻而易举。图像检测或分类、模式…

目标检测——YOLOv6算法解读

论文&#xff1a;YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications (2022.9.7) 作者&#xff1a;Chuyi Li, Lulu Li, Hongliang Jiang, Kaiheng Weng, Yifei Geng, Liang Li, Zaidan Ke, Qingyuan Li, Meng Cheng, Weiqiang Nie, Yiduo Li, Bo …

树莓派驱动开发----iic驱动oled屏幕篇

水一期吧&#xff0c;上效果 有点模糊&#xff0c;我直接说吧&#xff0c;修改设备树&#xff0c;iic1&#xff0c;地址0x3c&#xff0c;然后编写驱动文件&#xff0c;app文件&#xff0c;挂载驱动模块后在终端输入 /*******************************************************…

【动态规划】C++ 子序列问题(递增子序列、数对链、定差子序列、斐波那契子序列...)

文章目录 1. 前言2. 例题最长递增子序列 3. 算法题3.1_摆动序列3.2_最长递增子序列的个数3.3_最长数对链[3.4_ 最长定差子序列](https://leetcode.cn/problems/longest-arithmetic-subsequence-of-given-difference/description/)3.5_最长的斐波那契子序列的长度3.6_最长等差数…

Spring Boot:Web应用开发之增删改查的实现

Spring Boot 前言实现增删改查功能 前言 增删改查功能作为 Web 应用中的基础且重要的组成部分&#xff0c;是基本的数据库操作&#xff0c;也是实现业务逻辑和功能的关键要素。下面简单介绍使用 Spring Boot 实现增删改查的功能。 实现增删改查功能 在上一章 Spring Boot&am…

安装无法完成。安装Autodesk产品时出现错误103

解决方法如下 打开autoremove&#xff0c;点击扩展功能&#xff0c;输入103&#xff0c;点击搜索 注意 修复过程根据情况可能会很慢 等待提示修复成功&#xff0c;再尝试重新安装软件。 软件每周六选择其他方式登录免费使用

海康Visionmaster-常见问题排查方法-启动失数

问题2&#xff1a;VM无法启动&#xff0c;报错&#xff1a;参数错误&#xff1b;  问题原因&#xff1a;客户电脑环境异常导致代理启动失败。  解决方法&#xff1a;安装运行时库&#xff0c;并测试代理能否正常启动,步骤如下&#xff1a; ① 尝试双击代理进程&#xff…

Linux之yum和vim的使用

一、yum的使用 yum 后面跟install要安装的文件名&#xff1a; 若你要安装的文件已经存在&#xff0c;则会出现&#xff1a; 要删除文件&#xff1a; yum remore文件名即可删除 在我们安装完lrzsz之后&#xff0c;可以用rz指令和sz指令&#xff1a; rz指令可以从window窗口中…

【Linux开发实用篇】Webmin和宝塔

可视化工具 Webmin宝塔 Webmin Webmin是功能强大的基于Web的Linux/Unix管理工具 下载地址&#xff1a;http://download.webmin.com/download/yum/ 使用wget指令下载&#xff1a;http://download.webmin.com/download/yum/webmin-1.700-1.noarch.rpm 然后进行安装&#xff1a; …

第07-5章 传输层详解

7.1 传输层概述 分段及封装应用层送来的数据&#xff1a;应用层以字节流的形式给传输层传输数据&#xff0c;传输层会把字节流分段&#xff0c;并给每段封装 由应用程序产生应用进程&#xff0c;由应用进程产生进程端口号&#xff0c;由端口号提供相应的服务 如何查看本…

项目实践---贪吃蛇小游戏(下)

对于贪吃蛇小游戏&#xff0c;最主要的还是主函数部分&#xff0c;这里就和大家一一列举出来&#xff0c;上一章已经写过头文件了&#xff0c;这里就不多介绍了。 首先就是打印桌面&#xff0c;也就是背景&#xff0c;则对应的代码为&#xff1a; void SetPos(short x, short …

(四)Servlet教程——Maven的安装与配置

1.在C盘根目录下新建一个Java文件夹,该文件夹用来放置以下步骤下载的Maven&#xff1b; 2. 下载Maven的来源有清华大学开源软件镜像站和Apache Maven的官网&#xff0c;由于清华大学开源软件镜像站上只能下载3.8.8版本以上的Maven&#xff0c;我们选择在Apache Maven的官网上下…

VulnHub靶机 DC-8 打靶实战 详细渗透过程

VulnHub靶机 DC-8 打靶 详细渗透过程 目录 VulnHub靶机 DC-8 打靶 详细渗透过程一、将靶机配置导入到虚拟机当中二、渗透测试流程主机发现端口扫描Web渗透SQL注入登录后台反弹shell提权 一、将靶机配置导入到虚拟机当中 靶机地址&#xff1a; https://www.vulnhub.com/entry/…

Docker容器概念介绍与基本管理

前言 在软件开发和部署环境中&#xff0c;使用 Docker 等容器技术可以帮助团队实现快速、一致、可靠的应用程序部署&#xff0c;提高开发效率和应用程序的可移植性。 目录 一、虚拟化产品介绍 1. 云服务模型 1.1 IaaS 1.2 PaaS 1.3 SaaS 1.4 DaaS 2. 产品介绍 2.1 虚…

BUUCTF---[SWPU2019]神奇的二维码

1、下载附件是一张二维码&#xff0c;拿去扫描得到了flag 2、拿去提交是错的&#xff08;不会这么简单哈哈哈&#xff09;&#xff0c;常规操作在kali中分析 3、分离发现图片里面有东西 4、查看txt&#xff0c;发现里面有一串字符&#xff0c;解码后为 5、查看文档&#xff0c…

「ChatGPT」掀起新一轮AI热潮!超越GPT-4 Turbo,商汤日日新大升级!

目录 拳打 GPT-4 Turbo &#xff0c;脚踢 DALLE 3 端侧大模型&#xff0c;唯快不破 AI 应用落地需要一个即插即用的大模型超市 并不存在 AI 这个行业&#xff0c;只有 AI行业&#xff0c;强调 AI 需要与传统产业合作&#xff0c;这种关系是结合与赋能&#xff0c;而不是颠覆…

【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理

BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning BlackVIP:稳健迁移学习的黑盒视觉提示 问题 黑盒白盒&#xff1f; 黑盒和白盒的概念与对预训练模型内部参数的了解程度相关。黑盒指的是对预训练模型的参数和结构缺乏详细了解&#xff0c;通常只能通过使…