1、docker概念和基本使用命令
docker概念
微服务:不再是以完整的物理机为基础的服务软件,而是借助于宿主机的性能。以小量的形式,单独部署的应用。
docker:是一个开源的应用容器引擎,基于go语言开发的,使用时apache2.0的协议。docker是在Linux里面运行的容器化的开源工具。是一种轻量级的虚拟机。
鲸鱼是宿主机,集装箱是一个个独立的应用。每个应用之间都是相互隔离和独立的
docker的设计的宗旨
1、封装
2、发布
3、部署
4、运行
5、销毁
容器的生命周期————>达到一次封装,多次运行的目的。
可移植,可扩展,兼容性的目的。随时对地都可以快速的部署和使用docker的应用。
docker应用的隔离
docker是在Linux上运行,与其他的容器共享主机的内核,包括其他的资源(cpu,内存,硬盘),但是docker应用都是独立的进行,为什么能做到独立:
Linux的命名空间namespace可以实现资源的隔离
Linux的cgroup可以实现对docker应用程序的资源限制
namespace是Linux内核的一种特性,允许将一组系统资源进行隔离,是一种命名空间中的进程看起来像在系统中拥有独立的资源。
namespace的6个命名空间
1、UTS 隔离主机名和域名:系统调用的参数,在每个应用中,都能看到自己的主机名和域名,与其他进程分隔开。
2、PID 隔离进程:隔离内容:进程编号,当运行应用之后,每个应用都有自己的独立的进程编号的空间,每个进程之间不会发生冲突。
3、network 隔离网络:每个应用启动之后,都有自己的独立的网络空间,隔离网络设备、端口和网络栈。
4、mount 隔离文件系统:隔离文件系统,每个应用挂载之后都有之间独立的文件系统挂载点,这些挂载点互补冲突,也不会互相干扰。
5、IPC 隔离信号量:隔离信号量,消息队列和共享内存,在IPC隔离当中,每个进程之间都有独立的通信资源。
6、user 隔离用户和用户组:每个用户和组都是独立的命名空间,不同的用户和组之间都是隔离开的。
docker的核心概念
仓库:docker的仓库是用来保存镜像的地方,也是获取镜像和上传镜像的目的地。
镜像:docker镜像是创建容器的基础,一个镜像就类似于一个可执行的、包含源码的二进制包,包括容器运行的参数、设置、环境变量和配置文件。是一个打包好的可运行程序。
容器:容器是基于镜像创建的运行的实例
docker基本命令
查看当前下载到本地的镜像-docker images
- REPOSITORY:应用的名称
- TAG:镜像的标签,应用的版本
- IMAGE ID:镜像在本地的唯一标识
- CREATED:发布在镜像仓库的时间
- SIZE:镜像的大小
查看镜像的详细信息-docker inspect
查看镜像的详细信息-docker inspect 镜像ID
镜像下载完保存在/var/lib/docker/
overlay2:镜像的联合文件系统,有四层。
- lowerDir:镜像的底层文件系统,整个镜像的根文件系统(运行载体)
- upperDir:可写层,用户可以自定义的在底层文件系统上进行修改,但是这些修改又不影响根文件系统,容器可以实现读写。
- mergedDir:合并目录,就是用户看到的容器内的一个视图
- workDir:工作目录,进行写操作时,可以是联合文件系统overlay2更新和跟踪对于文件系统的修改。
创建镜像副本-docker tag
docker tag nginx:1.22 nginx:自定义标签:相当于给nginx:1.22做了一个副本
镜像的组成:镜像名:标签
删除镜像-docker rmi -f
docker rmi -f nginx:1.22/ID:删除镜像
导出/导入镜像-docker save/load
docker save -o /opt/centos.tar centos:7:把本地镜像导出到指定位置,保存为指定名称
docker load -i centos.tar:把镜像导入到本地docker中
创建容器-docker run -itd
docker run -itd ubuntu:22.04:如何基于镜像创建容器
- -i:表示容器开启标准输入,接受用户输入的指令。
- -t:生成一个伪终端tty,用户可以进入容器的内部。
- -d:容器创建完之后进入后台运行
- run:如果不存在指定的镜像,他会自动拉取仓库指定的镜像然后再创建容器。拉取+运行
查看运行状态的容器-docker ps
docker ps -a:查看所有状态的容器,包括运行和停止以及报错的容器。
Up:表示容器正在运行中
出现exit的原因:容器启动之后,都会有一个执行的命令,如果该命令执行完毕之后没有其他的可执行内容,那么容器会立刻退出进入终止状态。
进入容器内部-docker exec -it 容器id bash
docker exec -it 容器id/名称 /bin/bash | bash:进入容器内部操作
创建自定义名称容器-docker run -itd --name
docker run -itd --name 自定义名称 容器名称:给容器自定义名称
容器:基于镜像的配置和环境,创建一个基于Linux系统的,在这个系统当中安装了指定应用的小型虚拟机。
宿主机和容器文件传输-docker cp
1、宿主机的文件复制到容器内部:docker cp 文件名 容器名:/路径
2、容器的文件复制到宿主机:docker cp 容器名:/文件名 宿主机目录
查看容器的日志-docker logs -f
查看容器的标准输出:查看容器的日志
docker logs -f 容器名称
端口映射
-P:指定宿主机随机端口和容器内的端口映射,从32768——65535。
-p:需要人工指定宿主机的端口和容器进行映射,只要指定端口宿主机没有被占用都可以使用。
创建一个以nginx:1.22镜像的容器test1,指定宿主机随机端口和容器内的80端口映射
- 82:宿主机端口,80:容器端口
删除容器-docker rm -f
docker rm -f 容器名称:强制删除容器
- 容器是基于镜像创建的,但是容器一旦运行,镜像不再是依赖条件,镜像可以删除,不影响部署的容器。
查看容器IP地址
批量删除容器
1、批量删除后台所有已经停止的容器
2、批量删除所有容器
相关文章:
1、docker概念和基本使用命令
docker概念 微服务:不再是以完整的物理机为基础的服务软件,而是借助于宿主机的性能。以小量的形式,单独部署的应用。 docker:是一个开源的应用容器引擎,基于go语言开发的,使用时apache2.0的协议。docker是…...
数据结构与算法之链表: LeetCode 92. 反转链表 II (Ts版)
反转链表 II https://leetcode.cn/problems/reverse-linked-list-ii/description/ 描述 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 示例 1 输入&…...
【PPTist】插入形状、插入图片、插入图表
一、插入形状 插入形状有两种情况,一种是插入固定的形状, 一种是插入自定义的形状。 插入固定的形状时,跟上一篇文章 绘制文本框 是一样一样的,都是调用的 mainStore.setCreatingElement() 方法,只不多传的类型不一…...
三台Centos7.9中Docker部署Redis集群
Docker部署Redis集群 1. 安装 Docker 和 Docker Compose安装 Docker:安装 Docker Compose: 2. 配置 Redis 容器和网络3. 启动 Redis 容器4. 设置 Redis 集群4.1 集群创建异常处理 5. 验证和测试总结 如果 CentOS 服务器上还没有安装 Docker 和 Docker Co…...
Entity 的材质(棋盘、条纹、网格)
Entity 的材质 普通物体的材质 import { nextTick, onMounted, ref } from vue import * as Cesium from cesium // console.log(Cesium, Cesium)const viewer ref<any>(null)onMounted(() > { ... })let material Cesium.Color.YELLOW.withAlpha(0.5)Cesium.Colo…...
MACPA:fMRI连接性分析的新工具
摘要 不同脑区的共同激活为它们之间的功能交互或连接提供了一个有价值的衡量指标。元分析连接模型(MACM)是一种经过充分验证的研究某一特定区域共激活模式的方法,该方法对基于任务的功能磁共振成像(task-fMRI)数据进行种子点(seed-based)元分析。虽然MACM是一种强大…...
JavaScript-一份你的前端入门说明书(计算机专业)
一.简介 1.起源 JavaScript 起源于 1995 年,当时它主要是为了满足网页交互的需求而被创建。它最初的设计目的是为了让网页开发者能够在网页中添加一些简单的交互效果和动态内容。在那个时期,网页大多是静态的,而 JavaScript 的出现为网页带来了新的活力。Netscape 公司的 B…...
STM32供电参考设计
STM32供电参考设计 在图中有VDD,VSS和VDDA,VSSA两种类型的供电引脚,其数据手册解释如下: 令我不解的是:VDDA和VSSA必须分别连接到VDD和VSS,这是什么意思?有大佬能够解答一下吗?…...
python+fpdf:创建pdf并实现表格数据写入
目录 创建pdf文件对象 新增页 添加自定义字体 设置字体 设置文字颜色和背景色 插入内容 换行 插入图片 保存pdf 完整代码 安装:pip install fpdf 创建pdf文件对象 from fpdf import FPDF, Alignpdf FPDF() # 创建pdf文件对象 获取边距 print(pdf.l_…...
亚远景-ASPICE评估:汽车软件项目的过程能力评价
ASPICE(Automotive SPICE)的评估对象主要是汽车软件研发过程。 这个评估过程不仅仅关注最终的软件产品,而是深入到软件开发的全生命周期中,从需求分析、设计、编码、测试到发布和维护等各个环节。 具体来说,ASPICE评…...
电脑提示directx错误导致玩不了游戏怎么办?dx出错的解决方法
想必大家都有过这样的崩溃瞬间:满心欢喜打开心仪的游戏,准备在虚拟世界里大杀四方或者畅游冒险,结果屏幕上突然弹出个 DirectX 错误的提示框,紧接着游戏闪退,一切美好戛然而止。DirectX 作为 Windows 系统下游戏运行的…...
【13】制作镜像以及重启实例
制作镜像 k8s集群 有两个镜像需要制作,一个是master节点,一个是node节点。 在master节点上成功部署了k8s的控制平面,在node节点上部署了worker节点的配置,不知道打包镜像重启之后集群的状态是什么样的。 确认集群在运行&#…...
electron 启动警告
1. 问题 当启动 electron 时,控制台警告 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security 2. 解决方法 在主进程文件 main.js 中添加如下内容 process.env["ELECTRON_DISABLE_SECURI…...
wow-agent 学习笔记
wow-agent-课程详情 | Datawhale 前两课比较基础,无笔记 第三课 阅卷智能体这一块,曾经做过一点和AI助教相关的内容,也是用了一个prompt去进行CoT,但是风格和课程中的不太相同,在下面附上我的prompt 你是一名资深教…...
使用Cilium/eBPF实现大规模云原生网络和安全
大家读完觉得有帮助记得关注和点赞!!! 目录 抽象 1 Trip.com 云基础设施 1.1 分层架构 1.2 更多细节 2 纤毛在 Trip.com 2.1 推出时间表 2.2 自定义 2.3 优化和调整 2.3.1 解耦安装 2.3.2 避免重试/重启风暴 2.3.3 稳定性优先 2…...
“深入浅出”系列之C++:(4)回调函数
在写项目的时候遇见一个问题,现在的需求是主项目需要拿到子项目的结果来进行显示,那么如何集成呢,子项目里面有一个MainWindow类,类里 回调函数是一种通过函数指针将函数作为参数传递给另一个函数的编程技术。这种机制允许程序在特…...
Mysql--运维篇--主从复制和集群(主从复制I/O线程,SQL线程,二进制日志,中继日志,集群NDB)
一、主从复制 MySQL的主从复制(Master-Slave Replication)是一种数据冗余和高可用性的解决方案,它通过将一个或多个从服务器(Slave)与主服务器(Master)同步来实现。主从复制的基本原理是&#…...
设计模式 行为型 状态模式(State Pattern)与 常见技术框架应用 解析
状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态改变时改变其行为,使得对象看起来好像修改了它的类。这种设计模式的核心思想是将对象的状态和行为封装成不同的状态类,通过状态对象的行为改变来避免…...
计算机网络 (38)TCP的拥塞控制
前言 TCP拥塞控制是传输控制协议(Transmission Control Protocol,TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。 一、目的 TCP拥塞控制的主要目的是防止过多的数据注入到网络中,使网络能够承受现有的网络…...
鸿蒙面试 2025-01-09
鸿蒙分布式理念?(个人认为理解就好) 鸿蒙操作系统的分布式理念主要体现在其独特的“流转”能力和相关的分布式操作上。在鸿蒙系统中,“流转”是指涉多端的分布式操作,它打破了设备之间的界限,实现了多设备…...
【关于for循环的几种写法】
关于for循环的几种写法 在 C 中,for(int i 0; i < n; i) 是一种常见的循环写法,用于遍历从 0 到 n-1 的索引。如果你希望简化这种写法,可以使用以下几种方法: 1. 使用范围 for 循环 如果你需要遍历一个容器(如数…...
Apache和PHP:构建动态网站的黄金组合
在当今的互联网世界,网站已经成为了企业、个人和机构展示自己、与用户互动的重要平台。而在这些动态网站的背后,Apache和PHP无疑是最受开发者青睐的技术组合之一。这一组合提供了高效、灵活且可扩展的解决方案,帮助您快速搭建出强大的网站&am…...
免费开源的下载工具Xdown
软件介绍 Xdown是一款功能强大的开源免费下载工具,专为PC端用户设计,支持多种协议和下载方式。 1、多线程下载 Xdown支持最高128线程的并发下载,能够将文件分割成多个部分同时下载,从而显著提升下载速度。 2、多种协议支持 该…...
Three.js 数学工具:构建精确3D世界的基石
文章目录 前言一、向量(Vectors)二、矩阵(Matrices)三、四元数(Quaternions)四、欧拉角(Euler Angles)五、颜色(Colors)六、几何体生成器(Geometr…...
如何明智地提问
如何明智地提问的重要总结,让我为主要观点添加一些具体的实践建议: 提问前的准备工作 尝试在 Google、Stack Overflow 等平台搜索相似问题阅读相关文档和错误日志尝试自己调试和排查问题记录下已尝试过的解决方案 选择合适的提问平台 Stack Overflow…...
Microsoft Sql Server 2019 函数理解
说到函数,首先和存储过程作个比较吧,两者有一个共同点都是预编译优化后存储在磁盘中,所以效率 要比T-SQL高一点点。值得注意的是,存储过程可以创建或访问临时表,而函数不可以; 同时函数不可 以修改表中的数…...
自定义日期转换配置
文章目录 1.日期问题出现原因以及解决方案概述1.图示2.三种解决方案概述1.对于表单数据 application/x-www-form-urlencoded2.对于JSON数据1.使用JsonFormat注解2.自定义Jackson日期转换配置 2.解决方案common-web-starter1.目录2.BaseController.java 使用InitBinder解决表单数…...
“AI智能服务平台系统,让生活更便捷、更智能
大家好,我是资深产品经理老王,今天咱们来聊聊一个让生活变得越来越方便的高科技产品——AI智能服务平台系统。这个系统可是现代服务业的一颗璀璨明珠,它究竟有哪些魅力呢?下面我就跟大家伙儿闲聊一下。 一、什么是AI智能服务平台系…...
SQL美化器优化
文章目录 1.目录2.代码 1.目录 2.代码 package com.sunxiansheng.mybatis.plus.inteceptor;import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.*; import org.apache.ibatis.plugin.*; import org.apache.ibatis.reflection.*…...
我的128天创作之路:回顾与展望
大家好呀!今天来和你们分享一下我的创作历程😁。 一、机缘 最开始创作呢,是因为在学习 C 的 STL 时,像 string、list、vector 这些模板可把我折腾得够呛,但也让我学到了超多东西!我就想,要是把我…...
aws wordpress 路径/网站seo具体怎么做
首先是噪声的大体分类:噪点噪声:又称脉冲噪声、椒盐噪声雪花噪声:又称高斯噪声条纹噪声:分析完这些噪声的大致分布情况之后importcv2from PIL importImagefrom PIL importImageChopsimportnumpy as npimporttimeimportpytesseract…...
wordpress app theme/官方百度app下载安装
文章目录1、安装服务2、制作证书3、服务配置附件HTTPS - Hyper Text Transfer Protocol over SecureSocket Layer,是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性;HTTPS在HTTP的基础下加入SSL层&…...
高新区网站建设/小程序开发流程
计算机上自动化任务的终极工具就是写程序直接控制键盘和鼠标,这些程序可以控制其他应用,向他们发送虚拟的击键和鼠标点击,就像你自己坐在计算机前与它交互一样,这种技术被称为“图形用户界面自动化”。 GUI自动化的速度非常快&…...
从seo角度做网站流量/拓客公司联系方式
Java中有许多常用的类,比如时间日期、随机数、类型判断/转换。以下将是学习过程中记录的常用类及方法。 一、引用类型:String 1、什么是String? 字符串字符串不变; 它们的值在创建后不能被更改(字符串是长度不可以改变字符序列)。String是一个…...
域名查询地址/北京seo网络优化招聘网
题意: sol: 考虑floyed 直接暴力做的话复杂度是kn^3会炸。 考虑一个比较神仙的分块做法。 注意到我们是可以直接求单独某个k的矩阵,使用矩阵快速幂即可(取min的矩阵乘法)。 单独求一次的复杂度是O(n^3logk)。 设块的长度为100。 对…...
门户网站的案例分析/百度如何投放广告
Vim/Vi 介绍 目录 1. 简介 2. 插入命令 3. 定位命令 4. 删除命令 5. 复制和剪切命令 6. 替换和取消命令 7. 搜索和替换命令 8. 保存退出命令 9. Vi应用实例 10. Vi小结 Vim/Vi工作模式如下: 1. 简介 Vim/Vi是一个功能很强大的全屏幕文本编辑器,是Linux/U…...