Docker学习笔记

Docker学习笔记

    • docker的作用
    • docker的基本组成
    • 安装docker
    • 阿里云镜像加速
    • run的流程和docker原理

docker的思想来自于集装箱。
核心思想: 隔离
docker可以通过隔离机制将服务器利用到极致。
虚拟机:在windows中装一个Vmware,通过这个软件可以虚拟出一台或多台电脑,笨重。
虚拟机也是属于虚拟化技术,docker容器技术,也是一种虚拟化技术。
docker,隔离,(最核心的环境,4m+jdk+mysql)十分的小巧,运行镜像就可以了。

docker的作用

·虚拟机技术缺点:
1.资源占用十分多
2.冗余步骤多
3.启动很慢
·容器化技术:
容器化技术不是模拟的一个完整的操作系统
·docker和虚拟机的不同:
·传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
·容器的应用直接运行在宿主机的内核,容器是没有自己的内核的,也没有虚拟我们的 硬件,所以就轻便了。
·每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
更快速的交付和部署。
传统:一堆帮助文档、安装程序
Docker:一键镜像发布测试、一键运行
更便捷的升级和扩缩容。
使用了docker之后,我们部署应用就和搭积木一样。
项目打包为一个镜像,扩展服务器A,服务器B。
更简单的系统运维
在容器化之后,开发、测试环境高度一致
更高效的计算资源利用
docker是内核级别的虚拟化,可以在一个物理机上运行很多容器实例,服务器的性能可以被压榨到极致。

docker的基本组成

在这里插入图片描述
镜像(image)
docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或项目运行就是在容器中的)。
容器(contanier)
docker利用容器技术,独立运行一个或一组应用,通过镜像来创建的。
启动,停止,删除,基本命令。目前可以将容器理解为一个简易的Linux系统。
仓库(repository)
仓库就是存放镜像的地方。
仓库分为共有仓库和私有仓库。
docker hub(默认是国外的)
阿里云等有容器服务(配置镜像加速)

安装docker

查看云服务器环境。
在这里插入图片描述
系统版本:

[root@tian ~]# cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

进入[docker官网]
卸载旧版本docker:

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

在这里插入图片描述
需要的安装包:

yum install -y yum-utils

在这里插入图片描述
在这里插入图片描述
设置镜像的仓库:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #国外镜像
yum-config-manager --add-repo 
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云镜像

更新软件包索引

yum makecache

在这里插入图片描述

安装docker相关的 docker-ce社区 ee 企业版

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

一路y就安装成功啦!
在这里插入图片描述
启动docker:

systemctl start docker

使用docker -version查看是否安装成功。
在这里插入图片描述
hello world!

docker run hello-world

在这里插入图片描述
查看下载的镜像:

docker images

在这里插入图片描述
docker卸载:
1.卸载依赖

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2.删除资源

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://95xgetrg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

run的流程和docker原理

在这里插入图片描述
底层原理:
docker是一个Client-Sever结构的系统,docker的守护进程运行在主机上,通过Socket从客户端进行访问。
DockerSever接收到Docker-Client的指令,就会执行这个命令!
在这里插入图片描述
docker为什么比vm块?
1.docker有着比虚拟机更少的抽象层。
在这里插入图片描述
2.docker利用的是宿主主机的内核,vm需要的是Guest Os。
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统的内核,避免引导。虚拟机时加载Guest OS,分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。

[原始课程]

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

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

相关文章

机器学习基础09-审查分类算法(基于印第安糖尿病Pima Indians数据集)

算法审查是选择合适的机器学习算法的主要方法之一。审查算法前并 不知道哪个算法对问题最有效&#xff0c;必须设计一定的实验进行验证&#xff0c;以找到对问题最有效的算法。本章将学习通过 scikit-learn来审查六种机器学习的分类算法&#xff0c;通过比较算法评估矩阵的结果…

Ubuntu本地快速搭建web小游戏网站,并使用内网穿透将其发布到公网上

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 前言 网&#xff1a;我们通常说的是互联网&am…

Zebec在Nautilus Chain 开启质押,ZBC 将极致通缩

前不久&#xff0c;Zebec Protocol旗下的模块化公链Nautilus Chain上线了主网&#xff0c;模块化Layer3体系正式开启。在Nautilus Chain主网上线的初期阶段&#xff0c;将以ZBC通证作为链上主要的职能通证&#xff0c;用于Gas消耗、治理等诸多方面。据悉&#xff0c;此前在测试…

css3英文文字换行,超过两行...展示

需求&#xff1a;超过两行...展示 开发的过程中发现div内容中文可以换行英文不换行&#xff0c;导致长度会溢出。 是英文全英文的话浏览器会解析成一个单词&#xff0c; 加上这句就好了 word-break:break-all; 一开始不知道是会解析成一个单词&#xff0c;用字符串拼接处理…

await Promise内部执行setTimeout定时器,提前clearTimeout,导致卡死的情况分析及解决方案

背景概述 在我们日常开发中&#xff0c;我们常常需要在某个地方暂停某个动作一段时间。这个时候&#xff0c;我们的通常做法是使用setTimeout&#xff0c;配合promise实现。也就是如下代码。 function delay(ms) {return new Promise((resolve, reject) > {setTimeout(() …

element上传图片,调取接口传值,参数FormData为空

需求 输入完reason&#xff0c;选完文件后&#xff0c;点击提交按钮后 调取接口。 遇到的问题 上传文件orderFile 字段一直为空 打印了发现&#xff0c;上传文件也是有值得。但是传到接口中就为空 原因 json里边不能放file&#xff0c;但是formData里可以放 file 也可以放…

Kotlin全方位-简单解析

Kotlin是一种现代化的静态类型编程语言&#xff0c;由JetBrains公司开发。它可以在Java虚拟机&#xff08;JVM&#xff09;上运行&#xff0c;并且可以与Java代码无缝地进行互操作。Kotlin旨在提供更简洁、更安全、更具表达力和更高效的编程语言。 Kotlin主要运用 Android开发…

AIGC ChatGPT 实现动态多维度分析雷达图制作

雷达图在多维度分析中是一种非常实用的可视化工具&#xff0c;主要有以下优势&#xff1a; 易于理解&#xff1a;雷达图使用多边形或者圆形的形式展示多维度的数据&#xff0c;直观易于理解。多维度对比&#xff1a;雷达图可以在同一张图上比较多个项目或者实体在多个维度上的…

OpenCV基础知识(9)— 视频处理(读取并显示摄像头视频、播放视频文件、保存视频文件等)

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。OpenCV不仅能够处理图像&#xff0c;还能够处理视频。视频是由大量的图像构成的&#xff0c;这些图像是以固定的时间间隔从视频中获取的。这样&#xff0c;就能够使用图像处理的方法对这些图像进行处理&#xff0c;进而达到…

openGauss学习笔记-52 openGauss 高级特性-LLVM

文章目录 openGauss学习笔记-52 openGauss 高级特性-LLVM52.1 适用场景52.2 非适用场景52.3 其他因素对LLVM性能的影响52.4 LLVM使用建议 openGauss学习笔记-52 openGauss 高级特性-LLVM openGauss借助LLVM&#xff08;Low Level Virtual Machine&#xff09;提供的库函数&…

【C++】—— C++11之线程库

前言&#xff1a; 在本期&#xff0c;我将给大家介绍的是 C11 中新引进的知识&#xff0c;即关于线程库的相关知识。 目录 &#xff08;一&#xff09;线程库的介绍 1、线程库的由来 2、线程库的简单介绍 &#xff08;二&#xff09;线程函数参数 &#xff08;三&#xf…

window系统中如何判断是物理机还是虚拟机及VMPROTECT无法检测云主机

为什么要判断物理机&#xff0c;因为授权不能对虚拟机安装后的软件进行授权。虚拟机可以复制可以克隆&#xff0c;无法作为一个不可复制ID来使用。 总结了如何判断物理机&#xff1a; 1. 用systeminfo的系统型号。&#xff08;注&#xff0c;有资料是看处理器和bios。但是我这…

List与String数组互转

一.List 转为 String 数组 1.使用toArray方法 public static void main(String[] args) {List<String> list Lists.newArrayList("1","2","3");// Java6以前版本String[] str1 list.toArray(new String[list.size()]);// Java6以后版本…

高并发场景加锁方式及存在的问题

在多线程高并发场景下&#xff0c;为了保证共享资源的正确性&#xff0c;通常会采用加锁的方式。关于加锁以及一些相关的问题&#xff0c;这里根据个人学习了解的做个汇总。 加锁方式&#xff1a; 1、JVM锁1.1 多例模式1.2 事务1.3 集群 2、MySQL悲观锁乐观锁2.1 悲观锁2.2 乐…

JavaScript模块化历程(二)

文章目录 4.模块化标准规范(ES Modules)4.1 如何使用ES6规范4.2 严格模式4.3 实际使用4.4 默认导出4.5 <scrpit>加载文件的顺序 参考文章 4.模块化标准规范(ES Modules) ES6 提供的模块化方案叫做 ES Module&#xff0c;简称 esm,现在我开始接触的基本就是这种规范了,写n…

leetcode做题笔记106. 从中序与后序遍历序列构造二叉树

给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 思路一&#xff1a;递归 struct TreeNode* createTreeNode(int val) {struct TreeNode* ret ma…

四信5G工业路由器赋能5G LAN全连接工厂建设

5G作为“新基建”之首&#xff0c;肩负着驱动国民经济转型升级、促进实体经济与数字经济深度融合、满足各行各业高质量通信服务需求的重任。 随着5G技术的更新迭代&#xff0c;各行各业对网络的可靠性&#xff0c;确定性等提出更高的需求&#xff0c;5G LAN作为3GPP R16标准定…

【CSS】网站 网格商品展示 模块制作 ( 清除浮动需求 | 没有设置高度的盒子且内部设置了浮动 | 使用双伪元素清除浮动 )

一、清除浮动需求 ( 没有设置高度的盒子且内部设置了浮动 ) 绘制的如下模块 : 在上面的盒子中 , 没有设置高度 , 只设置了一个 1215px 的宽度 ; 在列表中每个列表项都设置了 浮动 ; /* 网格商品展示 */ .box-bd {/* 处理列表间隙导致意外换行问题一排有 5 个 228x270 的盒子…

如何修改由 img 标签引入的 svg 图片颜色 (react环境)

网上试了好几个方法都不行&#xff0c;问了一下身边同事的处理方法&#xff0c;终于搞定了。话不多说&#xff0c;直接上代码&#xff1a; 此处是 jsx 中的图标引入 <img className{STYLE.contactIcon}onClick{() > {你的一些操作}} style{{WebkitMaskImage: url(${ite…

LibreOffice新一代的办公软件for Mac/Windows免费版

LibreOffice是一款免费、开源的办公软件套件&#xff0c;可在多个操作系统上运行&#xff0c;包括Windows、Mac和Linux。它提供了一系列功能强大的办公工具&#xff0c;包括文档处理、电子表格、演示文稿、数据库管理等。 LibreOffice的界面简洁直观&#xff0c;与其他流行的办…