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

docker的安装与基础使用

一.docker简介

1)什么是docker

Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术,可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中,形成一个轻量级、独立的可执行单元。

开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

简单的理解,Docker类似于集装箱,各式各样的货物,经过集装箱的标准化进行托管,而集装箱和集装箱之间没有影响。也就是说,Docker平台就是一个软件集装箱化平台,这就意味着我们自己可以构建应用程序,将其依赖关系一起打包到一个容器中,然后这容器就很容易运送到其他的机器上进行运行,而且非常易于装载、复制、移除,非常适合软件弹性架构。 因此,就像船只、火车或卡车运输集装箱而不论其内部的货物一样,软件容器充当软件部署的标准单元,其中可以包含不同的代码和依赖项。 按照这种方式容器化软件,开发人员和 IT 专业人员只需进行极少修改或不修改,即可将其部署到不同的环境。

2)为什么要使用docker

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

首先, Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。

其次, Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个Docker 容器。 容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量 小。

传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而 Docker 只需要启动 10 个隔离的应用即 可。

具体来说使用Docker的主要好处包括:

  • 轻量和快速部署:Docker容器非常轻量,启动和停止容器都非常迅速。开发人员可以快速部署应用程序,减少了配置和依赖管理的麻烦。
  • 跨平台和可移植性:Docker容器可以在任何支持Docker的平台上运行,包括开发环境、测试环境和生产环境。这意味着开发人员可以在不同的环境中保持一致的开发和测试体验。
  • 环境一致性:通过使用Docker容器,可以确保应用程序在不同的环境中具有一致的运行方式,避免了“在我的机器上没问题”的常见问题。
  • 资源隔离和安全性:每个Docker容器都有自己的运行时环境,相互之间隔离,因此应用程序之间不会相互干扰。Docker还提供了诸多安全特性,可以限制容器的访问权限,保护应用程序的安全。
  • 可伸缩性:通过Docker,开发人员可以轻松创建多个容器副本,用于负载均衡和水平扩展,以满足应用程序的需求。

综上所述,使用Docker可以简化应用程序的部署、管理和扩展,提高开发和运维效率,同时带来跨平台和可移植性的好处。

二.docker的基本概念

1. 容器(Container):

        Docker镜像是Docker容器的静态定义,它包含了容器运行所需的程序、库、资源、配置等文件。镜像的分层存储结构使得镜像可以被复用、定制,同时也使得镜像可以更好地管理和存储。容器是基于镜像运行的实体,它具有自己的独立的命名空间、网络配置、进程空间和用户ID空间,因此容器封装的应用比直接在宿主运行更加安全。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。为了保证容器存储层的无状态化和高性能,应该使用数据卷或绑定宿主目录进行文件写入操作。数据卷的生存周期独立于容器,容器删除或重新运行后,数据不会丢失。

即:

  • 容器是基于镜像创建的独立运行环境,它包含了应用程序及其所有依赖项,如所需的库、环境变量等。
  • 容器在多个操作系统层面上实现了资源的隔离,使得应用程序可以在一个统一的环境中运行,并且不会相互干扰。
  • 容器可以快速启动、停止和删除,这使得应用程序的部署和管理变得非常方便。

2. 镜像(Image):

        Docker镜像是一个特殊的文件系统,包含了操作系统完整的root文件系统,其体积往往很大。在设计时,Docker使用Union FS技术将其设计为分层存储的架构,每一层构建完就不会再发生改变。因此,在构建镜像时,需要小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。分层存储的特征使得镜像的复用和定制变得更容易。

即:

  • 镜像是Docker容器的构建块,它包含了应用程序运行所需的一切内容。
  • 镜像是只读的,它可以从底层文件系统和元数据中构建,这使得镜像具有可重复性和可分发性。
  • 镜像可以通过Dockerfile文件定义和构建。Dockerfile是一个文本文件,其中包含了一组指令,用于指导Docker构建过程。
  • 镜像具有层次结构,每个层代表了在构建过程中进行的一项更改。这种分层结构提供了高效的镜像分享和存储方式。

3. 仓库(Repository):

        Docker Registry是一个集中存储镜像文件的地方,类似于我们之前常用的代码仓库。它可以包含多个仓库,每个仓库可以包含多个标签,每个标签对应一个镜像。仓库名通常以两段式路径形式出现,前者表示多用户环境下的用户名,后者则是对应的软件名。仓库分为公开仓库和私有仓库两种形式,即Docker Registry公开服务和私有Docker Registry。

即:

  • 仓库是用于存储和管理Docker镜像的地方。它类似于代码版本控制系统中的代码仓库。
  • 公共仓库,如Docker Hub,是一个全球性的服务,提供了大量的公共镜像供用户获取和使用。
  • 私有仓库通常由个人或组织在本地或云端搭建,用于存储和共享私有镜像。这种方式可以确保镜像的安全性和私密性。
  • 仓库可以包含多个仓库镜像标签(Tag),每个标签代表一个特定版本的镜像。标签可以用于区分镜像的不同版本和配置。

3.1.Docker Registry 公开服务

        Docker Registry是一个开放给用户使用的Registry服务,允许用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。最常使用的公开服务是Docker Hub,它是默认的Registry,拥有大量高质量的官方镜像。

        在国内访问Docker Hub可能会比较慢,因此国内的一些云服务商提供了针对Docker Hub的镜像服务(Registry Mirror),这些镜像服务被称为加速器,可以直接从国内的地址下载Docker Hub的镜像,比直接从Docker Hub下载速度会提高很多。

3.2.私有Docker Registry

        用户可以在本地搭建私有 Docker Registry,也可以使用官方提供的 Docker Registry 镜像作为私有 Registry 服务。

开源的 Docker Registry 镜像只提供了 Docker Registry API 的服务端实现,不包含图形界面、镜像维护、用户管理和访问控制等高级功能。在商业化版本 Docker Trusted Registry 中提供了这些高级功能。除了官方的 Docker Registry 和第三方软件实现的 Docker Registry API,还有一些第三方软件提供了用户界面和一些高级功能,如VMWare Harbor和Sonatype Nexus。

三.docker的安装与部署

Docker划分为CE和EE,CE为社区版(免费,支持周期三个月),EE为企业版(强调安全,付费使 用)。

Docker CE每月发布一个Edge版本(17.03,17.04,17.05……),每三个月发布一个Stable版本 (17.03,17.06,17.09……);docker EE和stable版本号保持一致,每个版本提供一年维护。

安装之前需要卸载旧版本docker

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

1)脚本安装

 curl -fsSL https://get.docker.com -o get-docker.shsudo sh ./get-docker.sh --dry-run

注:这里不推荐使用脚本安装,因为脚本安装无法选择版本

2)使用yum安装

  •  版本环境为:centos7.9
  • 参照阿里云的安装部署的步骤即可:docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 (aliyun.com)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo systemctl start docker

校验: 

 3)配置镜像加速器

        国内从Docker Hub拉取镜像有时会遇到困难,此时可以配置镜像加速器。

(1)从2017年6月9日起,Docker 官方提供了在中国的加速器,以解决墙的问题。不用注册,直接使用 加速器地址:https://registry.docker-cn.com 即可。 

(2)中国科技大学的镜像加速器:中科大的加速器不用注册,直接使用地址 https://docker.mirrors.us tc.edu.cn/ 配置加速器即可。进一步的信息可以访问:http://mirrors.ustc.edu.cn/help/dockerhub.ht ml?highlight=docker

(3)阿里云加速器:注册阿里云开发账户(免费的)后,访问这个链接就可以看到加速器地址: https://c r.console.aliyun.com/#/accelerator

(4)DaoCloud 加速器:注册 DaoCloud 账户(支持微信登录),然后访问: https://www.daocloud.io/ mirror#accelerator-doc

我这里使用的阿里云镜像加速器,

  • 注册成功后,搜索容器镜像服务
  • 点击立即开通
  • 点击镜像工具里的镜像加速器
  • 根据步骤配置即可

 3.1)有daemon文件

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

 即:是否有daemon文件有的话直接在此文件基础上修改即可

3.2)无daemon文件

##配置daemon文件
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://tyms1eoc.mirror.aliyuncs.com"]
}
EOF
##重新加载 systemd 守护进程的配置文件。
systemctl daemon-reload
##重新启动docker服务
systemctl restart docker

4)下载系统镜像(Ubuntu、 centos)

(4.1)搜索官方仓库镜像

       命令: docker search <镜像名称>

参数说明
 参数说明
NAME镜像名称
DESCRIPTION镜像说明
STARS点赞数量
OFFICIAL是否是docker官方发布的
AUTOMATED是否是自动构建的

(4.2)拉取镜像 

命令:docker pull

命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

docker pull ubuntu:20.04
docker pull centos:7

四.docker的基础使用

1.基于下载的镜像创建两个容器

创建容器:容器名一个为自己名字全拼,一个为首名字字母

1.1创建一个容器,容器名为LL

docker run -d --name LL ubuntu:20.04 

 这个命令会在后台以守护进程的形式运行一个 Ubuntu 20.04 镜像的容器,并将容器命名为 "LL"。

具体而言,`docker run` 命令用于启动一个新的容器,并将其作为后台进程运行。`--name` 参数用于指定容器的名称,`ubuntu:20.04` 表示要使用 Ubuntu 20.04 镜像作为容器的基础镜像,`-d` 参数用于在后台运行容器,而不是前台运行。

 1.2创建一个容器,容器名为L(名称不能为一个字母所以我这里加了个1)

docker run -it --name L1 centos:7 /bin/bash

这个命令会在后台以交互式终端的形式运行一个 CentOS 7  镜像的容器,并将容器命名为 "L1"。

具体而言,`docker run` 命令用于启动一个新的容器,并将其作为后台进程运行。`--name`  参数用于指定容器的名称,`centos:7` 表示要使用 CentOS 7 镜像作为容器的基础镜像,`-it` 参数用于在交互式终端中运行容器,而不是在后台运行。


2.容器的启动、 停止及重启操作

容器的启动、停止和重启操作可以通过以下命令来实现:

1. 启动容器

方法1:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

其中,`OPTIONS` 是一些可选的参数,

 `-d` 参数表示在后台运行容器

`-n` 参数表示指定容器的名称

`-p` 参数表示将容器的端口映射到主机的端口等等

`IMAGE` 表示要使用的镜像

`TAG` 或 `@DIGEST` 表示使用镜像的标签或摘要值

`COMMAND` 表示要在容器中运行的命令或程序

`ARG...` 表示传递给命令或程序的参数列表

方法2:

docker start 容器名

2. 停止容器

要停止一个正在运行的容器,可以使用 `docker stop`  命令。

docker stop 容器名

也可以使用`docker kill ` 命令

docker kill 容器名

 3. 重启容器

要重启一个正在运行的容器,可以使用 `docker restart` 命令。

docker restart 容器名

注意,重启容器时,容器的状态会被清除,并从上次停止的位置开始重新启动。如果容器中有任何数据,请确保将其保存到外部存储中,以免丢失。

3.怎么查看正在运行的容器和所有容器?

  • 要查看当前正在运行的容器,可以使用以下命令:
docker ps

该命令会列出所有正在运行的容器的 ID 和名称,以及它们的状态信息,包括运行状态、创建时间、占用的 CPU 和内存等。

  • 要查看所有已经创建的容器,可以使用以下命令:
docker ps -a

该命令会列出所有已经创建的容器的 ID 和名称,以及它们的状态信息,包括运行状态、创建时间、占用的 CPU 和内存等。

  • 另外,还可以使用 `docker container ls` 命令来列出所有容器,无论它们是否正在运行。该命令会列出所有容器的 ID、名称、镜像名称、创建时间、状态等信息。


4.怎么退出容器: 两种方法分别实现?

方法1:

        使用 `exit` 命令或`ctrl+D`这种办法会退出·容器并停止容器

在容器内部,可以使用 `exit` 命令退出容器。该命令会将容器的进程 ID 发送给父进程,从而使容器停止运行。

exit

2. 使用 `Ctrl+Q+P` 命令

这个命令会退出容器但是不会停止容器,也就是容器还会在后台继续运

5.怎么连接到运行的容器?

要连接到正在运行的容器,可以使用以下命令:

docker exec -it 容器名 /bin/bash

其中,该命令会进入容器内部的 Bash shell,让你可以像在本地机器上一样操作容器。

如果容器中安装了其他应用程序或服务,可以根据需要修改该命令的参数,以便连接到相应的服务。

注意,使用该命令连接到容器后,如果容器中的服务停止运行或容器被删除,你将无法再连接到该容器。因此,在连接到容器之前,请确保容器中的服务正在运行,并且容器不会被意外删除。

6.查看容器或镜像的内部信息?

查看容器的详细信息,可以使用`docker inspect`命令:

docker inspect 容器名

 


7.如何查看所有镜像?

要查看当前主机镜像列表,可以使用以下命令:

docker images

该命令会列出本地所有的镜像,包括本地创建的镜像和从其他 Docker 镜像仓库中拉取的镜像。

如果要查看某个特定的镜像,可以在命令中指定镜像名称或 ID,例如:

docker images --filter "reference=<image_name>"

其中,`<image_name>` 是镜像的名称或 ID。该命令会列出与指定名称或 ID 相关的所有镜像。

五.报错解决

1:镜像加速器配置有问题

[root@localhost docker]# docker pull centos:7
Error response from daemon: Head "https://registry-1.docker.io/v2/library/centos/manifests/7": dial tcp: lookup registry-1.docker.io on 192.168.136.2:53: no such host

 原因分析: Docker 客户端无法连接到 Docker Registry 服务器。

解决办法:

1.查看本地网络连接,可以尝试ping www.baidu.com看是否可以ping通

2.查看daemon文件是否有错

3.DNS解析有问题

可以修改为:8.8.8.8  114.114.114.114

 修改后成功拉取镜像

 

相关文章:

docker的安装与基础使用

一.docker简介 1&#xff09;什么是docker Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术&#xff0c;可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中&#xff0c;形成一个轻量级、独立的可执行单元。 开发者在本地编…...

python+django+mysql高校校园外卖点餐系统--计算机毕设项目

本文的研究目标是以高校校园外卖点餐为对象&#xff0c;使其高校校园外卖点餐为目标&#xff0c;使得高校校园外卖点餐的信息化体系发展水平提高。论文的研究内容包括对个人中心、美食分类管理、用户管理、商家管理、美食信息管理、工作人员管理、安全检查管理、系统管理、订单…...

获取excel中的图片(包含wps中嵌入单元格图片)

项目中有excel导入功能,并且需要导入excel中的图片;模板如图: 已知office中插入的图片为浮动形式;如图: wps中可以插入浮动图片,也可以插入嵌入单元格图片;如图: 并且在wps嵌入单元格形式的图片可以看到使用的是公式;如图: 问题来了,如何获取图片 并且将图片与单元格进行对应 …...

Git命令详解

1 常用命令 1&#xff09;初始化本地仓库 git init <directory> 是可选的&#xff0c;如果不指定&#xff0c;将使用当前目录。 2&#xff09;克隆一个远程仓库 git clone <url> 3&#xff09;添加文件到暂存区 git add <file> 要添加当前目录中的所…...

【STM32RT-Thread零基础入门】 4. 线程介绍(理论)

文章目录 前言一、线程的概念二、线程的调度三、上下文切换四、线程的重要属性1. 线程栈2. 线程的状态3. 线程优先级4. 线程时间片5. 线程的入口函数 五、RT-Thread命令查看系统线程信息总结 前言 前文中的最后一个任务发现&#xff0c;一个main()函数很难同时实现按键功能和闪…...

css学习3(三种样式表与样式控制优先级)

1、外部样式表&#xff1a;当样式需要应用于很多页面时&#xff0c;外部样式表将是理想的选择。在使用外部样式表的情况下&#xff0c;你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表&#xff0c;也要放到<head>中。 2、外部…...

【JS深层解析】内存

前言 接触过 C 语言的小伙伴应该了解:C语言拥有底层最原始的内存管理办法,例如:malloc() 和 free()方法,它们被开发者用来从操作系统中分配和释放内存。 然而在JavaScript这门语言中,当我们创建了一个东西(可以被读写、传递的数据),浏览器中的 js 引擎会根据创建这个…...

第二章:25+ Python 数据操作教程(第十四节NUMPY 教程与练习)

NumPy(“Numerical Python”或“Numeric Python”的缩写)是 Python 中对数组和矩阵进行快速数学计算的最基本的软件包之一。在处理多维数据时它也非常有用。集成C、C++和FORTRAN工具是一件幸事。它还提供了许多傅里叶变换 (FT) 和线性代数函数。 为什么使用 NumPy 而不是列…...

Pycharm与Anaconda Python的开发环境搭建

目录 一&#xff1a;下载 二&#xff1a;安装python 三&#xff1a;设置Pycharm 一&#xff1a;下载 下载Anaconda&#xff1a; Anaconda | The World’s Most Popular Data Science Platform 安装好以后&#xff0c;设置一下环境变量&#xff1a; 打开命令行&#xff0c…...

2.创建小程序

创建 在开发工具中,选择小程序,点击加号 填写小程序信息,模板使用的是TS+Sass 编辑器的工作区 目录结构 项目使用的是ts的模板,目录结构和js的有一点差异,目录结构如下: miniprogram:小程序根目录 —pages:小程序页面目录 ——xxx:页面目录,一个页面对应一个目…...

XenDesktop5.6如何连接数据库

Citrix在数据库的连接方式上一直不统一&#xff0c;但是也还是有迹可循的。 经过了好长时间的下载以后&#xff0c;今天终于有时间来测试一下最新版本的XenDesktop 5 SP1&#xff0c;由于结合了其他组件和环境的需要&#xff0c;所以&#xff0c;选择了独立部署数据库&#xf…...

OAuth2.0一 Spring Security OAuth2.0

这里主讲OAuth2.0 学习OAuth2前提&#xff1a; 掌握Spring Security Spring Security学习 一 OAuth2.0介绍 OAuth&#xff08;Open Authorization&#xff09;是一个关于授权&#xff08;authorization&#xff09;的开放网络标准&#xff0c;允许用户授权第三方应用访问他们…...

【linux】kernel编译时相关报错

文章目录 1. 问题现象及解决方式1. cc1: error: code model kernel does not support PIC mode 1. 问题现象及解决方式 1. cc1: error: code model kernel does not support PIC mode 问题&#xff1a;编译module时报错 原因&#xff1a;未指定交叉编译器&#xff0c;导致默认…...

C语言 功能型API --------------------strcat()

NAME strcat, strncat - concatenate two strings 头文件 SYNOPSIS #include <string.h> 函数原型&#xff1a; char *strcat(char *dest, const char *src); 功能&#xff1a; 在字符串dest的末尾将字符串src拼接上去 #include <stdio.h> #inc…...

企业展示小程序搭建指南

如今&#xff0c;移动互联网的快速发展&#xff0c;为企业展示提供了更多元化的方式。除了传统的宣传手段&#xff0c;企业还可以借助小程序来展示自己的实力和产品。本文将为大家介绍一种简单的DIY小程序的方法&#xff0c;让企业能够快速打造自己的展示平台。 首先&#xff0…...

大模型技术实践(一)|ChatGLM2-6B基于UCloud UK8S的创新应用

近半年来&#xff0c;通过对多款主流大语言模型进行了调研&#xff0c;我们针对其训练方法和模型特点进行逐一分析&#xff0c;方便大家更加深入了解和使用大模型。本文将重点分享ChatGLM2-6B基于UCloud云平台的UK8S实践应用。 01各模型结构及特点 自从2017年6月谷歌推出Transf…...

Flink状态和状态管理

1.什么是状态 官方定义&#xff1a;当前计算流程需要依赖到之前计算的结果&#xff0c;那么之前计算的结果就是状态。 这句话还是挺好理解的&#xff0c;状态不只存在于Flink&#xff0c;也存在生活的方方面面&#xff0c;比如看到一个认识的人&#xff0c;如何识别认识呢&am…...

【3Ds Max】布料命令的简单使用

简介 在3ds Max中&#xff0c;"布料"&#xff08;Cloth&#xff09;是一种模拟技术&#xff0c;用于模拟物体的布料、织物或软体的行为&#xff0c;例如衣物、帆布等。通过应用布料模拟&#xff0c;您可以模拟出物体在重力、碰撞和其他外力作用下的变形和动态效果。…...

用 VB.net,VBA 两种方式 读取单元格内的 换行数据,并出力到 CSV文件

用 VB.net&#xff0c;VBA 两种方式 读取单元格内的 换行数据&#xff0c;并出力到 CSV文件 需求 如下图所示&#xff0c;为了生成csv文件导入数据库&#xff0c;需要将下图 的 1 和 2 拼接成 如下 3 所示的一行数据&#xff0c; 开头为 1 &#xff0c;往后为 2 的换行数据 将换…...

kafka线上问题优化

如何防止消息丢失 生产者&#xff1a; 使用同步发送把ack设成1或者all&#xff08;非0&#xff0c;0可能会出现消息丢失的情况&#xff09;&#xff0c;并且设置同步的分区数>2 消费者&#xff1a;把自动提交改成手动提交 如何防止重复消费 在防止消息丢失的方案中&#…...

FifthOne:用于矢量搜索的计算机视觉接口

一、说明 数据太多了。数据湖和数据仓库;广阔的像素牧场和充满文字的海洋。找到正确的数据就像大海捞针一样&#xff01;如果你喜欢开源机器学习库 FiftyOne&#xff0c;矢量搜索引擎通过将复杂数据&#xff08;图像的原始像素值、文本文档中的字符&#xff09;转换为称为嵌入矢…...

认识Axios

axios中文网 一. 为什么会诞生Axios 最初浏览器页面向服务器请求数据时&#xff0c;返回的是整个页面&#xff0c;整个页面都会刷新ajax的出现&#xff0c;它可以在页面无刷新的情况下请求数据原生的XMLHttpRequest&#xff0c;jQuery封装的ajax&#xff0c;以及axios都可以实…...

系统架构设计专业技能 · 信息安全技术

系列文章目录 系统架构设计专业技能 网络技术&#xff08;三&#xff09; 系统架构设计专业技能 系统安全分析与设计&#xff08;四&#xff09;【系统架构设计师】 系统架构设计高级技能 软件架构设计&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 …...

kafka晋升之路-理论+场景

kafka晋升之路 一&#xff1a;故事背景二&#xff1a;核心概念2.1 系统架构2.2 生产者&#xff08;Producer&#xff09;2.2.1 生产者分区2.2.2 生产者分区策略 2.3 经纪人&#xff08;Broker&#xff09;2.3.1 主题&#xff08;Topic&#xff09;2.3.2 分区&#xff08;Partit…...

(牛客网)链表相加(二)

嗯哼~ 题目 描述 假设链表中每一个节点的值都在 0 - 9 之间&#xff0c;那么链表整体就可以代表一个整数。 给定两个这种链表&#xff0c;请生成代表两个整数相加值的结果链表。 数据范围&#xff1a;0 ≤ n,m ≤ 1000000&#xff0c;链表任意值 0 ≤ val ≤ 9 要求&#x…...

Vs code 使用中的小问题

1.Java在Vs code 中使用单元测试失败或者如何使用单元测试 创建Java项目&#xff0c;或者将要测试的文件夹添加进工作区 要出现lib包&#xff0c;并有两个测试用的jar包 编写测试文件 public class TestUnit{ public static void main(String[] args) {String str "…...

vue2和vue3

1. 双向数据绑定原理发生了改变 vue2的双向数据绑定是利用了es5 的一个API Object.definepropert() 对数据进行劫持 结合发布订阅模式来实现的。vue3中使用了es6的proxyAPI对数据进行处理。 相比与vue2&#xff0c;使用proxy API 优势有&#xff1a;defineProperty只能监听某个…...

火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效

由于流量红利逐渐消退&#xff0c;越来越多的广告企业和从业者开始探索精细化营销的新路径&#xff0c;取代以往的全流量、粗放式的广告轰炸。精细化营销意味着要在数以亿计的人群中优选出那些最具潜力的目标受众&#xff0c;这无疑对提供基础引擎支持的数据仓库能力&#xff0…...

【论文阅读】SHADEWATCHER:使用系统审计记录的推荐引导网络威胁分析(SP-2022)

SHADEWATCHER: Recommendation-guided CyberThreat Analysis using System Audit Records S&P-2022 新加坡国立大学、中国科学技术大学 Zengy J, Wang X, Liu J, et al. Shadewatcher: Recommendation-guided cyber threat analysis using system audit records[C]//2022 I…...

Mac 使用 rar 命令行工具解压和压缩文件

在 Mac 中常遇到的压缩文件有 zip 和 rar 格式的&#xff0c;如果是 zip 格式的 Mac 系统默认双击一下文件就能直接解压了&#xff0c;但 rar 文件就不行。 需要额外下载 rar 工具了实现。 第一步&#xff1a;下载 rar 工具 工具网址&#xff1a;https://www.rarlab.com/dow…...

7.maven

1 初始Maven 1.1 什么是Maven Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 官网&#xff1a;https://maven.apache.org/ Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&…...

MySQL 主从复制遇到 1590 报错

作者通过一个主从复制过程中 1590 的错误&#xff0c;说明了 MySQL 8.0 在创建用户授权过程中的注意事项。 作者&#xff1a;王祥 爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 故障处理和性能优化。对技术执着&#xff0c;为客户负责。 本文来源&#xff1a;原创投稿 爱可生…...

games101-windows环境配置(CMake+vcpkg+VS2019)

下载工具 安装CMake 安装vcpkg 安装vs2019 安装 eigen3 opencv 在vcpkg安装目录下&#xff0c;使用Windows Power Shell运行下面脚本 .\vcpkg.exe install eigen3:x64-windows .\vcpkg.exe install opencv:x64-windows安装过程中可能会用红色字体提示&#xff1a;Failed to…...

2023年Java核心技术面试第五篇(篇篇万字精讲)

目录 十 . HashMap&#xff0c;ConcurrentHashMap源码解析 10.1 HashMap 的源码解析&#xff1a; 10.1.1数据结构&#xff1a; 10.1.2哈希算法&#xff1a; 10.1.3解决哈希冲突&#xff1a; 10.1.4扩容机制&#xff1a; 10.1.5如何使用 HashMap&#xff1a; 10.2 HashMap 关注…...

第十课:Qt 字符编码和中文乱码相关问题

功能描述&#xff1a;最全的 Qt 字符编码相关知识以及中文乱码的原因与解决办法 一、字符编码种类 ASCII 码 美国人对信息交流的编码&#xff0c;包括 26 个字母&#xff08;大小写&#xff09;、数字和标点符号等&#xff0c;用一个字节&#xff08;8 位&#xff09;表示这些…...

Go语言基础:Interface接口、Goroutines线程、Channels通道详细案例教程

目录标题 一、Interface1. Declaring and implementing an interface2. Practical use of an interface3. Nterface internal representation4. Empty interface5. Type assertion6. Type switch7. Implementing interfaces using pointer receivers VS value receivers8. Impl…...

Cesium加载ArcGIS Server4490且orgin -400 400的切片服务

Cesium在使用加载Cesium.ArcGisMapServerImageryProvider加载切片服务时&#xff0c;默认只支持wgs84的4326坐标系&#xff0c;不支持CGCS2000的4490坐标系。 如果是ArcGIS发布的4490坐标系的切片服务&#xff0c;如果原点在orgin X: -180.0Y: 90.0的情况下&#xff0c;我们可…...

Objectarx 2021使用vs2019生成报错 /RTCc rejects conformant code

error C2338: /RTCc rejects conformant code错误解决 使用VS2019/VS2022生成项目报错 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C1189 #error: /RTCc rejects conformant code, so it is not supported by the C Standard Library. Either remove this compiler opti…...

QT中使用QtXlsx库的三种方法 QT基础入门【Excel的操作】

对于Linux用户,如果Qt是通过“ apt-get”之类的软件包管理器工具安装的,请确保已安装Qt5开发软件包qtbase5-private-dev QtXlsx是一个可以读写Excel文件的库。它不需要Microsoft Excel,可以在Qt5支持的任何平台上使用。该库可用于从头开始生成新的.xlsx文件从现有.xlsx文件中…...

容器和云原生(二):Docker容器化技术

目录 Docker容器的使用 Docker容器关键技术 Namespace Cgroups UnionFS Docker容器的使用 首先直观地了解docker如何安装使用&#xff0c;并快速启动mysql服务的&#xff0c;启动时候绑定主机上的3306端口&#xff0c;查找mysql容器的ip&#xff0c;使用mysql -h contain…...

学习总结(TAT)

项目写完了&#xff0c;来写一个总的总结啦&#xff1a; 1.后期错误 Connection&#xff0c;Statement&#xff0c;Prestatement&#xff0c;ResultSet都要记得关闭接口&#xff1b;&#xff08;一定要按顺序关闭&#xff09;&#xff1b; 在写群聊的时候写数据库名的时候不要…...

2023java异常之八股文——面试题

Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离&#xff0c;保证程序代码更加优雅&#xff0c;并提高程序健壮性。在有效使用异常的情况下&#xff0c;异常能清晰的…...

数据可视化和数字孪生相互促进的关系

数据可视化和数字孪生是当今数字化时代中备受关注的两大领域&#xff0c;它们在不同层面和领域为我们提供了深入洞察和智能决策的机会&#xff0c;随着两种技术的不断融合发展&#xff0c;很多人会将他们联系在一起&#xff0c;本文就带大家浅谈一下二者之间相爱相杀的关系。 …...

axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现

在前端做大文件分片上传&#xff0c;或者其它中断请求时&#xff0c;需要暂停或重新请求&#xff0c;比如这里大文件上传时&#xff0c;可能会需要暂停、继续上传&#xff0c;如下GIF演示&#xff1a; 这里不详细说文件上传的处理和切片细节&#xff0c;后续有时间在出一篇&a…...

SAP动态安全库存简介

动态安全库存:跑需求计划时,ERP系统按设置的库存方式自动计算出满足一定时间内可保障生产的库存数量 SAP动态安全库存的计算公式:动态安全库存=平均日需求*覆盖范围。 平均日需求=特定时期内的总需求/特定时期内的工作天数 覆盖范围指在没又货物供应的情况下,库存可以维…...

JVM基础了解

JVM 是java虚拟机。 作用&#xff1a;运行并管理java源码文件锁生成的Class文件&#xff1b;在不同的操作系统上安装不同的JVM&#xff0c;从而实现了跨平台的保证。一般在安装完JDK或者JRE之后&#xff0c;其中就已经内置了JVM&#xff0c;只需要将Class文件交给JVM即可 写好的…...

QT:event事件分发器,事件过滤器(了解)

Event事件分发器 用于事件的分发 可以用事件分发器做拦截&#xff0c;从而不进入到后面的虚函数中&#xff0c;但是不建议 bool event(QEvent *e); 返回值 如果是true 代表用户处理这个事件&#xff0c;不向下进行分发 e->type&#xff08;&#xff09;中可选择进行拦截的类…...

若依项目的介绍(前后端分离版本)

目录 一、若依介绍 &#xff08;一&#xff09;简单介绍 &#xff08;二&#xff09;若依版本 &#xff08;三&#xff09;Git远程拉取步骤 二、项目的技术介绍 &#xff08;一&#xff09;后端技术 1.spring boot 2.Spring Security安全控制 3.MyBatis 4.MySQL和R…...

DT游乐场建模

丢了一个...

Servlet+JDBC实战开发书店项目讲解第9篇:VIP等级优惠实现

ServletJDBC实战开发书店项目讲解第9篇&#xff1a;VIP等级优惠实现 介绍 在这篇博客中&#xff0c;我们将讲解如何在书店项目中实现VIP等级优惠功能。VIP等级优惠是一种常见的商业策略&#xff0c;可以吸引更多的顾客并提高销售额。我们将使用Servlet和JDBC来实现这个功能。…...