尚硅谷Docker核心技术

news2025/1/23 6:08:03

目录

      • 第1课时 docker_前提知识要求和课程简介
      • 第2课时 docker_为什么会出现
      • 第3课时 docker_理念
      • 第4课时 docker_是什么?
      • 第5课时 docker_能干什么
      • 第6课时 docker_3要素
      • 第7课时 centos6安装Docker
      • centos7安装Docker
      • 第9课时 阿里云镜像加速器配置
      • 第10课时 helloworld镜像
      • 第11课时 运行底层原理
      • 第12课时 Docker帮助命令
      • ==第13课时 Docker镜像命令==
      • ==第14课时 Docker容器命令(上)==
      • ==第15课时 Docker容器命令(下)==
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理
      • 第16课时 Docker_ 镜像原理

第1课时 docker_前提知识要求和课程简介

前置知识要求:
1、linux
2、git
在这里插入图片描述
这是看完整个课程后自己的理解呀:
client :客户端
docker build : 将容器打包成镜像
docker pull : 从docker hub 或者 阿里云上拉取镜像
docker run : 以某个镜像为模板启动容器

docker_host : 运行docker demon进程的主机
images : 镜像 类似于java中的类 是容器的模板
containers : 容器 类似java中的实例 是模板的一个具体实现
容器相当于鲸鱼背的一个一个的集装箱,容器包含了自己希望运行的软件
以及软件运行的基本环境。

第2课时 docker_为什么会出现

第3课时 docker_理念

Docker是基于Go语言实现的云开源项目。

Docker的主要目标是“Build,Ship and Run Any APP,Anywhere", 也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能够做到一次封装,到处运行

Linux容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的。将应用程序运行在docker容器上面,而docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只要一次配置好环境,换到了别的机器上就可以一键部署

第4课时 docker_是什么?

(总结 背诵)docker 是一个容器运行的载体(或者说是管理引擎),安装完docker后,会在后台运行一个 docker的守护进程,用来监听并解析客户端发来的请求,然后对 镜像,容器和仓库进行相关操作

第5课时 docker_能干什么

1、 之前的虚拟机技术
VM: 不仅模拟了操作系统,还模拟了硬件
缺点: 资源占用多 冗余步骤多 启动慢

2、容器虚拟化技术:
由于虚拟机存在的缺点,Linux发展处另一种虚拟化技术 : Linux容器(Linux Containers,缩写为LXC)

Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行的所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工程师所需要的库资源和设置。系统因此变得高效轻量 并保证部署在任何环境中的软件都能始终如一的运行

3、docker与虚拟机的区别
1)传统的虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上再运行应用程序
2)而容器内的应用进程直接运行于宿主的内核,而容器没有自己的内核,而且也没有硬件虚拟,因此容器比虚拟机更加轻便
3)每个容器之间相互隔离,每个容器都有自己的文件系统,容器之间不会相互影响

第6课时 docker_3要素

Docker的基本组成 : docker架构图
在这里插入图片描述
镜像
Docker镜像(Image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以
创建多个Docker容器
镜像 ————> 类
容器 ————> 实例

容器:软件运行的最基础的环境+软件
Docker利用容器(Container)独立运行一个或者一组应用。容器是用镜像创建的运行实例
他可以被启动、开始、停止删除。每个容器都是相互隔离的,保证安全的平台

可以把容器看成是一个简易版的Linux环境(包括root用户权限,进程空间,用户空间、网络空间)+ 运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器最上面的那一层是可读可写的。

仓库:
仓库(Repository) 是集中存放镜像文件的场所。
仓库 和 仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中存放着多个镜像,每个镜像有不同的标签(tag) (l类似于版本号)

仓库分为公开仓库 和 私有仓库
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 和 网易云等

第7课时 centos6安装Docker

centos7安装Docker

https://blog.csdn.net/hc1285653662/article/details/127721518

第9课时 阿里云镜像加速器配置

https://blog.csdn.net/hc1285653662/article/details/127721518

https://blog.csdn.net/hc1285653662/article/details/124720892

查看镜像加速器配置是否生效:
打开终端或命令提示符,以在Docker主机上执行以下命令。
运行以下命令来查看当前Docker配置:docker info
在输出信息中,查找 “Registry Mirrors”(镜像加速器)字段。如果你已经配置了镜像加速器,它应该列在这个字段下。
如果你在这个字段下看到了镜像加速器的URL(通常是以https://<加速器地址>格式),那么你已经配置了阿里云的Docker镜像加速器。
在这里插入图片描述

第10课时 helloworld镜像

1、命令:docker run hello-world
在这里插入图片描述
2:run 干了什么?
根据镜像常见并启动容器
在这里插入图片描述

第11课时 运行底层原理

1、docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过SocKet连接从客户端访问,守护进程从客户端接受命令,运行并管理运行在主机上的容器。(容器,是一个运行时环境)

2、docker为什么比虚拟机快
不需要虚拟硬件,并且与宿主机共用os
1)docker有着比虚拟机更少的抽象层。由于Docker不需要实现硬件资源的虚拟化,运行在Docker上的程序直接使用的是实际物理机的硬件资源,因此在CPU,内存的利用率上,docker将会在效率上有着明显的优势

2)docker与宿主机共享OS(操作系统),
所以当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核,这个过程是分钟级别的,Docker直接利用宿主机的操作系统,省略了整个过程,因此新建一个Docker只需要几秒钟 !!!

在这里插入图片描述

第12课时 Docker帮助命令

帮助命令
docver version : 查看docker的版本
docker info : 查看docker详细信息
docker --help : 查看docker的所有命令

第13课时 Docker镜像命令

1、docker images :
作用:查看所有本地的镜像
参数: docker images -a : 列出本地的所有镜像(包含中间层镜像)
docker images -q: 只显示镜像ID
docker images -qa : 获取本地所有镜像的镜像Id
docker images --digests : 显示镜像的摘要信息
docker images --no-trunc : 显示完整的镜像信息 (no truncate 别截取)
在这里插入图片描述

2、docker search 某个xx镜像的名字 (查询是在 docker.hub 上查,拉取是从阿里云拉取)
作用:在 docker.hub 上查该镜像
参数: docker search -s 30 tomat : 查看点赞数 > 30 的tomcat镜像
docker search --no-trunc tomat : 显示完整的镜像描述信息

3、docker pull xx某个镜像的名字
docker pull tomcat = docker pull tomcat:latest ==> 默认拉取最新的镜像

4、docker rmi xxx某个镜像 (remove image)(默认删除 docker rmi xxx某个镜像:latest )
docker rmi -f 镜像名
docker rmi -f 镜像ID ==>删除单个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG ==> 删除多个镜像
docker rmi -f $(docker images -qa) ==> 删除所有的镜像

第14课时 Docker容器命令(上)

1、有镜像才能创建容器,这是根本前提

2、新建并启动容器
docker run 【options】 image 【command】【arg】
【options】:参数
在这里插入图片描述

3、列出当前正在运行的所有容器(不带任何参数)
docker ps 【options】
在这里插入图片描述

docker ps -n 3 显示最近创建的三个容器
docker ps --no -trunc 查看正在运行的容器的完整信息

4、关闭容器:
exit : 退出并关闭容器 ==》 关闭容器 指的是容器处于停止状态!!
ctrl+p+q :

5、启动容器
docker start 容器的ID
【注意】此时是没有进去交互模式的
如果要进入交互模式:
键入命令:docker exec -it 容器ID bin/bash
或者 : docker attach 容器ID

6、重启容器:
docker restart 容器的ID

7、停止容器
docker stop 容器的ID

8、强制停止容器
docker kill 容器的ID

9、删除已停止的容器
删除容器 : docker rm 已停止的容器的ID
强制删除容器: docker rm -f 容器的ID
删除本地运行的所有容器: docker rm -f $(docker ps -q -a)
或者 docker ps -a -q|xargs docker rm

第15课时 Docker容器命令(下)

1、启动守护式容器
docker run -d 镜像名
在这里插入图片描述
docker run -d --name=“centos_h” centos /bin/sh -c “while true;do echo hello zzyy;sleep 10;done”
在这里插入图片描述

2、查看容器日志
docker logs -f -t --tail 容器ID
-t 加入时间戳
-f 跟随最近的日志打印
–tail 数字显示最近的多少条

3、查看容器内部运行的进程
docker top 容器ID

4、查看容器内部细节
docker inspect 容器ID

5、进入正在运行的容器
docker attach 容器ID
docker exec -it 容器ID bin/bash

在这里插入图片描述

6、拷贝容器内的数据到主机上
docker cp 容器ID:容器内的路径(/tmp/um.log) 主机的路径(/root)

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

第16课时 Docker_ 镜像原理

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

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

相关文章

FPGA project : flash_continue_write

本实验学习了通过spi通信协议&#xff0c;驱动flash&#xff1b;完成连续写操作。 连续写&#xff1a; 本质上还是页编程指令&#xff0c;两种连续写的方式&#xff1a; 1&#xff0c;每次只写1byte的数据。 2&#xff0c;每次写满1页数据&#xff0c;计算剩余数据够不够写…

Java实现微信支付、退款(小程序支付JSAPI-V3-整合微信sdk开发)

一、废话不多说&#xff0c;直接上教程&#xff1a; 写代码之前首先要明白微信支付的支付流程。 二、支付流程&#xff1a; 小程序调用后端预支付接口 > 预支付接口调用成功返回给小程序支付凭证id > 小程序拿到支付凭证调用微信后台支付接口 > 小程序支付成功后&am…

JOSEF约瑟 多档切换式漏电(剩余)继电器JHOK-ZBL1 30/100/300/500mA

系列型号&#xff1a; JHOK-ZBL多档切换式漏电&#xff08;剩余&#xff09;继电器&#xff08;导轨&#xff09; JHOK-ZBL1多档切换式漏电&#xff08;剩余&#xff09;继电器 JHOK-ZBL2多档切换式漏电&#xff08;剩余&#xff09;继电器 JHOK-ZBM多档切换式漏电&#xf…

自己写spring boot starter问题总结

1. Unable to find main class 创建spring boot项目写自己的starterxi写完之后使用install出现Unable to find main class&#xff0c;这是因为spring boot打包需要一个启动类&#xff0c;按照以下写法就没事 <plugins><plugin><groupId>org.springframewo…

嵌入式系统学习路径:

嵌入式系统学习路径&#xff1a; 00001. 确保扎实的C语言基础&#xff0c;包括高级编程知识和数据结构算法。 00002. 00003. 学习Linux应用层开发&#xff0c;包括并发程序设计、网络编程和数据库开发。 00004. 00005. 探索无线通信领域&#xff0c;如Zigbee、低功…

OpenHarmony创新赛|赋能直播第四期

开放原子开源大赛OpenHarmony创新赛进入了中期评审环节&#xff0c;为了解决开发者痛点&#xff0c;本期以三方库移植、MQTT移植案例、开发工具介绍的3节系列技术课程&#xff0c;帮助开发者提升开发效率&#xff0c;为作品的创新能力奠定坚实基础。 扫描下方长图二维码&#x…

手把手教学mfc140u.dll丢失的解决方法,快速解决mfc140u.dll丢失

不知道大家有没有有没有遇到过mfc140u.dll丢失的情况。今天手把手教学mfc140u.dll丢失的解决方法&#xff0c;快速解决mfc140u.dll丢失&#xff0c;这么详细的步骤&#xff0c;我不信这你还不能解决mfc140u.dll丢失的问题。 一.解决mfc140u.dll丢失的方法 解决办法一&#xff…

centos7.3无法使用ping命令提示connect: Resource temporarily unavailable

centos7.3无法使用ping命令 问题描述linux版本解决方法 问题描述 有一台linux服务器&#xff0c;因网络策略开通所需&#xff0c;要登录服务器进行ping测试。结果登录后使用ping命令提示&#xff1a;connect: Resource temporarily unavailable linux版本 查看版本文件得知…

半导体产业链解析:晶圆厂、无晶圆厂与代工厂的比较与作用

半导体产业一直是全球科技发展的关键驱动力&#xff0c;在半导体产业中&#xff0c;晶圆厂、无晶圆厂公司和代工厂是三个重要的参与者。它们在产业环节、生产方式、经营模式和市场竞争等方面存在一些显著差异。本文将探讨半导体晶圆厂、无晶圆厂公司和代工厂之间的区别&#xf…

从零到一完成Midway.js登录、注册、鉴权功能

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 前言 本文将从项目搭建到实现从零到一开发一个登录、注册、鉴权的简易版注册登录系统&#xff0c;主要功能和技术选型如下&#xff1a; 服务端框架———…

mac 版本 Lightroom Classic 2024 正式版来了 七个有趣的新功能值得更新

mac 版本 Lightroom Classic 2024 正式版终于来了&#xff01;此次更新有七大功能&#xff1a;新增高动态范围编辑和输出、智能 AI 交互式镜头模糊、全局和局部焦点颜色、预设搜索、支持新型相机和镜头等功能。本文将做详细解读&#xff0c;看看这七个有趣的新功能值得去更新吗…

RK3568驱动指南|第六篇-平台总线-第54章 点亮LED灯实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

流量渠道分析

文章目录 流量渠道分析一、为什么需要流量渠道分析1.了解流量来源&#xff0c;制定营销策略2.发现流量缺失点&#xff0c;提高转化率3.提高用户体验&#xff0c;增加用户留存 二、流量渠道分析方法1.确定分析目标2.选择分析工具3.设置分析参数4.收集数据5.数据分析6.制定优化方…

2024上海国际智慧城市展览会(世亚智博会)智慧城市,数字中国

在数字化、智能化的时代背景下&#xff0c;智慧城市成为了全球瞩目的焦点。而作为智慧城市领域的重要盛会&#xff0c;2024上海国际智慧城市展览会&#xff08;简称&#xff1a;世亚智博会&#xff09;则将再次汇聚全球目光。此次展览将于2024年3月26日至28日在上海跨国采购会展…

解决java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效

当我使用tomcat启动使用servlet项目时&#xff0c;出现了报错&#xff1a; java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效 显示路径错误&#xff0c;于是去检查Web.xml中的配置&#xff0c;发现是配置文件的路径写错了&#xff0c;少写了…

【Python第三方包】快速获取硬件信息和使用情况(psutil、platform)

文章目录 前言一、psutil包1.1 安装psutil包1.2 psutil 使用方式获取CPU使用率获取内存使用情况将内存的获取的使用情况变成GB和MB获取磁盘使用情况磁盘内存进行转换获取网络信息网络info 二、platform2.1 platform的介绍2.2 platform 使用方式获取操作系统的名称获取架构的名称…

unapp项目发布h5 详细操作流程以及注意事项 (hash模式)

首先需要在manifest.json文件中的web配置中 这里因为公司项目都是hash模式 所以写的./ 接下来看源码视图会发现多了一个配置项&#xff1a; 接下来点击hbx上面的 发行》网站-PC Web或手机H5(仅适用于uni-app)(H) 此时查看控制台会显示打包后的存放路径 接下来就直接给后端同…

Windows下Redis3.0主从模式架构搭建

redis版本&#xff1a;Redis-x64-3.0.504 复制相同文件 修改文件夹下redis.windows.conf 文件配置(注意&#xff1a;主有密码&#xff0c;从必须有密码且跟主相同) 修改端口&#xff1a; 主库&#xff1a;端口号6379 从库1&#xff1a;修改端口号为6380 从库2&#xff1a;修…

金融用户实践|分布式存储支持数据仓库业务系统性能验证

作者&#xff1a;深耕行业的 SmartX 金融团队 闫海涛 估值是指对资产或负债的价值进行评估的过程&#xff0c;这对于投资决策具有重要意义。每个金融公司资管业务人员都期望能够实现实时的业务估值&#xff0c;快速获取最新的数据和指标&#xff0c;从而做出更明智的投资决策。…

【学习笔记】RabbitMQ01:基础概念认识以及快速部署

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 一、认识RabbitMQ1.1 消息中间件&#xff08;MQ Message Queue 消息队列1.2 主流的消息中间件1.3 MQ的应用场景1.3.1 异步处理1.3.2 系统解耦1.3.3 流量削峰1.3.4 日志处理 二、RabbitMQ运行环境搭建…