当前位置: 首页 > news >正文

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 &#xff0c;其中 left < right请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 示例 1 输入&…...

【PPTist】插入形状、插入图片、插入图表

一、插入形状 插入形状有两种情况&#xff0c;一种是插入固定的形状&#xff0c; 一种是插入自定义的形状。 插入固定的形状时&#xff0c;跟上一篇文章 绘制文本框 是一样一样的&#xff0c;都是调用的 mainStore.setCreatingElement() 方法&#xff0c;只不多传的类型不一…...

三台Centos7.9中Docker部署Redis集群

Docker部署Redis集群 1. 安装 Docker 和 Docker Compose安装 Docker&#xff1a;安装 Docker Compose&#xff1a; 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)是一种经过充分验证的研究某一特定区域共激活模式的方法&#xff0c;该方法对基于任务的功能磁共振成像(task-fMRI)数据进行种子点(seed-based)元分析。虽然MACM是一种强大…...

JavaScript-一份你的前端入门说明书(计算机专业)

一.简介 1.起源 JavaScript 起源于 1995 年,当时它主要是为了满足网页交互的需求而被创建。它最初的设计目的是为了让网页开发者能够在网页中添加一些简单的交互效果和动态内容。在那个时期,网页大多是静态的,而 JavaScript 的出现为网页带来了新的活力。Netscape 公司的 B…...

STM32供电参考设计

STM32供电参考设计 ​ 在图中有VDD&#xff0c;VSS和VDDA&#xff0c;VSSA两种类型的供电引脚&#xff0c;其数据手册解释如下&#xff1a; ​ 令我不解的是&#xff1a;VDDA和VSSA必须分别连接到VDD和VSS&#xff0c;这是什么意思&#xff1f;有大佬能够解答一下吗&#xff1f…...

python+fpdf:创建pdf并实现表格数据写入

目录 创建pdf文件对象 新增页 添加自定义字体 设置字体 设置文字颜色和背景色 插入内容 换行 插入图片 保存pdf 完整代码 安装&#xff1a;pip install fpdf 创建pdf文件对象 from fpdf import FPDF, Alignpdf FPDF() # 创建pdf文件对象 获取边距 print(pdf.l_…...

亚远景-ASPICE评估:汽车软件项目的过程能力评价

ASPICE&#xff08;Automotive SPICE&#xff09;的评估对象主要是汽车软件研发过程。 这个评估过程不仅仅关注最终的软件产品&#xff0c;而是深入到软件开发的全生命周期中&#xff0c;从需求分析、设计、编码、测试到发布和维护等各个环节。 具体来说&#xff0c;ASPICE评…...

电脑提示directx错误导致玩不了游戏怎么办?dx出错的解决方法

想必大家都有过这样的崩溃瞬间&#xff1a;满心欢喜打开心仪的游戏&#xff0c;准备在虚拟世界里大杀四方或者畅游冒险&#xff0c;结果屏幕上突然弹出个 DirectX 错误的提示框&#xff0c;紧接着游戏闪退&#xff0c;一切美好戛然而止。DirectX 作为 Windows 系统下游戏运行的…...

【13】制作镜像以及重启实例

制作镜像 k8s集群 有两个镜像需要制作&#xff0c;一个是master节点&#xff0c;一个是node节点。 在master节点上成功部署了k8s的控制平面&#xff0c;在node节点上部署了worker节点的配置&#xff0c;不知道打包镜像重启之后集群的状态是什么样的。 确认集群在运行&#…...

electron 启动警告

1. 问题 当启动 electron 时&#xff0c;控制台警告 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 前两课比较基础&#xff0c;无笔记 第三课 阅卷智能体这一块&#xff0c;曾经做过一点和AI助教相关的内容&#xff0c;也是用了一个prompt去进行CoT&#xff0c;但是风格和课程中的不太相同&#xff0c;在下面附上我的prompt 你是一名资深教…...

使用Cilium/eBPF实现大规模云原生网络和安全

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 目录 抽象 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)回调函数

在写项目的时候遇见一个问题&#xff0c;现在的需求是主项目需要拿到子项目的结果来进行显示&#xff0c;那么如何集成呢&#xff0c;子项目里面有一个MainWindow类&#xff0c;类里 回调函数是一种通过函数指针将函数作为参数传递给另一个函数的编程技术。这种机制允许程序在特…...

Mysql--运维篇--主从复制和集群(主从复制I/O线程,SQL线程,二进制日志,中继日志,集群NDB)

一、主从复制 MySQL的主从复制&#xff08;Master-Slave Replication&#xff09;是一种数据冗余和高可用性的解决方案&#xff0c;它通过将一个或多个从服务器&#xff08;Slave&#xff09;与主服务器&#xff08;Master&#xff09;同步来实现。主从复制的基本原理是&#…...

设计模式 行为型 状态模式(State Pattern)与 常见技术框架应用 解析

状态模式&#xff08;State Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许对象在内部状态改变时改变其行为&#xff0c;使得对象看起来好像修改了它的类。这种设计模式的核心思想是将对象的状态和行为封装成不同的状态类&#xff0c;通过状态对象的行为改变来避免…...

计算机网络 (38)TCP的拥塞控制

前言 TCP拥塞控制是传输控制协议&#xff08;Transmission Control Protocol&#xff0c;TCP&#xff09;避免网络拥塞的算法&#xff0c;是互联网上主要的一个拥塞控制措施。 一、目的 TCP拥塞控制的主要目的是防止过多的数据注入到网络中&#xff0c;使网络能够承受现有的网络…...

鸿蒙面试 2025-01-09

鸿蒙分布式理念&#xff1f;&#xff08;个人认为理解就好&#xff09; 鸿蒙操作系统的分布式理念主要体现在其独特的“流转”能力和相关的分布式操作上。在鸿蒙系统中&#xff0c;“流转”是指涉多端的分布式操作&#xff0c;它打破了设备之间的界限&#xff0c;实现了多设备…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...