Docker学习(一)

注:此为笔者学习狂神说Docker的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!

Docker

一、Docker入门

1. Docker 为什么会出现

在这里插入图片描述

在这里插入图片描述

2.Docker

在这里插入图片描述

在这里插入图片描述

文档地址: https://docs.docker.com/Docker的文档是超级详细的 !
仓库地址: https://hub.docker.com/

3.Docker能做什么

之前的虚拟机技术

在这里插入图片描述

虚拟机技术的缺点:

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢

容器化技术

容器化技术不是模拟一个完整的操作系统

在这里插入图片描述

比较Docker和虚拟机技术的不同

传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
Docker容器内的应用直接运行在宿主机的内核,容器没有自己的内核,也没有虚拟我们的硬件,所以就轻便了
每个容器间是相互隔离,每个容器都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)

在这里插入图片描述

二、Docker安装与底层原理

1.Docker的名词概念

在这里插入图片描述

镜像(image)

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务。

tomcat镜像 ==> run ==> tomcat容器(提供服务)

通过这个镜像可以创建多个容器最终运行或者项目运行都是在容器中的)。

容器(container)

Docker利用容器技术,独立运行一个或者一组应用,是通过镜像来创建的

有启动,停止,删除等Linux基本指令!

目前就可以把这个容器理解为一个简易的Linux系统

仓库(repository)

仓库就是存放镜像的地方,分为私有仓库和公有仓库;

Docker Hub(默认是国外的)

阿里云…都有容器服务器(配置镜像加速!)

2.安装Docker

环境查看
# 系统内核是3.10以上的
root@xxx:/# uname -r
3.10.0-957.21.3.el7.x86_64
# 系统版本
[root@AlibabaECS ~]# cat /etc/os-release #查看本机操作系统
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
正式安装Docker

帮助文档:https://docs.docker.com/engine/install/

# 1、卸载旧的版本
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 2、需要的安装包
sudo yum install -y yum-utils# 3、设置镜像的仓库
#安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
#阿里云的镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#清华大学的镜像
sudo yum-config-manager \--add-repo \https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo# 更新yum软件包索引
yum makecache fast# 4、安装docker相关的源 docker-ce 社区 ee 企业版
yum install docker-ce docker-ce-cli containerd.io# 5、启动docker
systemctl start docker# 6、使用docker version 查看是否安装成功# 7、运行hello镜像,本地有就运行,没有就去远程仓库找,再运行
docker run hello-world# 8、查看下载的这个 hello-world 镜像

在这里插入图片描述

在这里插入图片描述

运行hello镜像

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

卸载docker
# 1、依赖卸载
yum remove docker-ce docker-ce-cli containerd.io# 2、删除资源
rm -rf /var/lib/docker# /var/lib/docker docker的默认工作路径

3.阿里云镜像加速

在这里插入图片描述

选择对应的操作系统的命令,运行即可
在这里插入图片描述

4.回顾HelloWorld流程

在这里插入图片描述

5.底层原理

Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问!

DockerServer接收到Docker-Client的指令,就会执行这个命令!
在这里插入图片描述

Docker为什么比VM快?

  1. Docker有着比虚拟机更少的抽象层
  2. Docker利用的是宿主机的内核,VM需要的是Guest OS

在这里插入图片描述

所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导虚拟机是加载Guset OS , 分钟级别的而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级

Docker学习(一)的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

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

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

相关文章

Ribbon相关面试及答案(2024)

1、Ribbon是什么,它在微服务架构中扮演什么角色? Ribbon是一个客户端负载均衡器,它在微服务架构中扮演着关键性的角色。Ribbon的设计理念是在客户端进行服务发现和负载均衡,这种方式不同于传统的通过中心化的负载均衡器&#xff…

【webstorm中通过附加方式打开一个项目,这个项目本身有git,但是却看不到git的解决方法】

1、如图所示 设置-》版本控制-》未注册的根,选中后,再点加号,就可以了 2、如图所示 版本控制-》直接点加号-》选中项目路径,vcs选择git,点击确定就可以了

力扣每日一题99:恢复二叉搜索树

题目 给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例 1: 输入:root [1,3,null,null,2] 输出:[3,1,null,null,2] 解释:3 不能是 1 …

Oracle-数据库迁移之后性能变慢问题分析

问题背景: ​一套Oracle11.2.0.4的RAC集群,通过Dataguard switchover方式迁移到新机器之后,运行第一天应用报障说应用性能慢,需要进行性能问题排查 问题分析: 首先,登陆到服务器,用TOP看一眼两个…

常用Java Lambda表达式示例

文章目录 1. **实现Runnable接口**:2. **事件监听器**(如Swing中的ActionListener):3. **集合遍历**(使用forEach方法):4. **过滤集合**(使用Stream API):5. …

Prometheus-AlertManager 邮件告警

环境,软件准备 本次演示环境,我是在虚拟机上安装 Linux 系统来执行操作,以下是安装的软件及版本: System: CentOS Linux release 7.6Docker: 24.0.5Prometheus: v2.37.6Consul: 1.6.1 docker 安装prometheus,alertmanage,说明一下这里直接将…

WIN10自带查看硬盘运行时间的指令

#创作灵感# 之前一直在捣腾电脑,最近又搞了个R720XD(后续会有分享),所以对硬盘比较关注,查了一下硬盘方面的一些坑,机械硬盘最关注的问题就是运行时间了。 #正文# 查看硬盘运行时间需要用到Get-Disk指令&a…

(学习打卡2)重学Java设计模式之六大设计原则

前言:听说有本很牛的关于Java设计模式的书——重学Java设计模式,然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧,本文主要记录笔者的学习笔记和心得。 打卡!打卡! 六大设计原则 (引读:这里…

Vue 中的 ref 与 reactive:让你的应用更具响应性(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Android14之audit2allow自动生成Selinux规则(一百七十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Intellij IDEA 快速开发参考

快捷键 核心快捷键 IntelliJ IDEA 作为一个以快捷键为中心的 IDE,为大多数操作建议了键盘快捷键。在这个主题中,您可以找到最不可缺少的列表,使 IntelliJ IDEA 轻松实现第一步。 核心快捷键表: 操作快捷键根据名称查找操作CtrlSh…

贪心算法part05 435无重叠区间

435无重叠区间 763 划分字母区间 56合并区间