Docker知识点汇总表格总结

       Docker容器给我的一个很直观的感受就是将项目以及中间件安装变得比较简单直接,运行维护起来也更方便。之前做的一些微服务项目也是用docker来部署,现在很多开源的项目也流行使用docker来部署,简化了很多手动安装和配置的步骤,将项目部署和使用的难度降低了很多,尤其对于学习开源项目来说,能很快部署成功,并看到项目的效果。

       其实几年前总结过一次docker,当时是初学,总结的东西比较少,比较基础。后来一到周末就泡在广州图书馆7楼,早早占个位置,在7楼科学技术区看计算机相关的图书,有一些docker相关的图书讲的比较全面,当时用手机拍了不少内容。现在不少公司项目也在使用docker,docker几乎也是很多公司面试必问的知识,现在做个汇总总结。

目录

1.Docker简介

 2.Dokcer安装

3.Docker镜像

4.Docker容器生命周期

5. Docker网络

6.Docker数据管理

7. Docker Compose

8. Dockerfile 编写

9. Docker Registry

10. Docker 存储驱动

 11.Docker镜像构建

12.Docker容器运行

13.Docker容器日志

 14.Docker容器监控

15.Docker安全性

16. Docker Swarm

17. Docker Stack

18.Docker插件

19. Docker 命令行工具

20.Docker 实践案例


1.Docker简介

内容描述
定义Docker 是一个开源的容器化平台,用于开发、发布和运行应用程序。
主要组件镜像(Image): 应用程序及其依赖的只读模板。
容器(Container): 镜像的运行实例。
仓库(Repository): 存储镜像的场所。
优势轻量级: 容器共享宿主机的操作系统。
可移植性: 容器可以在任何支持Docker的系统上运行。
隔离性: 容器之间相互隔离。
示例使用Docker运行一个简单的Web服务器:docker run -p 80:80 nginx
 2.Dokcer安装
步骤描述
系统要求- 支持Docker的操作系统,如Linux、macOS或Windows。
获取Docker- Linux: 通过包管理器安装,如APT或YUM。
- macOS: 通过Docker Desktop for Mac。
- Windows: 通过Docker Desktop for Windows。
安装过程Linux: 更新包管理器,安装Docker引擎。
macOS/Windows: 下载Docker Desktop并安装。
验证安装使用命令 docker --version 或 docker info 来验证Docker是否正确安装。
启动Docker服务Linux: 使用 sudo systemctl start docker
macOS/Windows: Docker Desktop安装后自动启动。
示例在Linux上安装Docker: sudo apt-get install docker-ce docker-ce-cli containerd.io
3.Docker镜像
内容描述
定义Docker 镜像是一个轻量级、可执行的独立软件包,包含运行一个应用所需的代码、运行时、系统工具、系统库和设置。
构建过程通过 Dockerfile 来定义镜像内容,然后使用 docker build 命令构建。
存储和分发镜像被存储在仓库中,可以是本地仓库或远程仓库如Docker Hub。
拉取和推送使用 docker pull 命令从仓库拉取镜像,使用 docker push 命令将本地镜像推送到远程仓库。
标签镜像可以通过标签(tag)来区分不同的版本,例如 nginx:latest
分层结构镜像由多个层组成,每一层代表Dockerfile中的一个指令。
最佳实践- 保持镜像尽可能小以优化性能和安全性。
- 使用官方镜像作为基础镜像。
- 清理不必要的文件以减小镜像大小。
示例拉取官方的nginx镜像:docker pull nginx
4.Docker容器生命周期
阶段描述
创建使用 docker create 创建一个新的容器,但不会立即启动它。
运行使用 docker start 启动已创建的容器。
执行命令在运行中的容器内执行命令,如 docker exec
停止使用 docker stop 停止容器的运行。
重启使用 docker restart 重启一个已经停止的容器。
删除使用 docker rm 删除一个已经停止的容器。
暂停和恢复使用 docker pause 和 docker unpause 分别暂停和恢复容器。
查看容器信息使用 docker inspect 查看容器的详细信息。
日志使用 docker logs 查看容器的日志输出。
状态容器可以是运行中、已停止、已暂停等状态。
健康检查使用 HEALTHCHECK 指令在 Dockerfile 中设置,以检测容器是否运行正常。
资源限制可以在创建容器时使用 --memory 或 --cpus 限制资源使用。
示例创建并运行一个容器:docker run -d --name mynginx nginx
5. Docker网络
内容描述
定义Docker 网络是用于连接运行中的容器以实现通信的虚拟网络。
默认网络bridge: 默认网络,为每个容器分配独立的网络接口和IP地址。
host: 容器共享宿主机的网络栈。
none: 容器没有配置网络。
自定义网络使用 docker network create 创建自定义网络。
网络类型bridge: 默认的网络类型,适用于大多数场景。
overlay: 用于跨多个Docker主机的容器通信。
macvlan: 将容器连接到物理网络接口。
连接和断开容器使用 docker network connect 和 docker network disconnect 将容器连接到网络或从网络中断开。
查看网络使用 docker network ls 查看所有网络。
查看网络信息使用 docker network inspect 查看特定网络的详细信息。
网络驱动Docker 提供了多种网络驱动,如 bridge, host, overlay, macvlan 等。
示例创建一个名为 mynetwork 的自定义网络:docker network create mynetwork
6.Docker数据管理
内容描述
卷(Volume)Docker 卷用于持久化和共享容器数据,即使容器被删除,卷中的数据也不会丢失。
绑定挂载将宿主机上的一个目录或文件挂载到容器内部,用于数据共享或持久化。
临时文件系统使用 --tmpfs 选项创建一个临时文件系统,容器重启后数据将丢失。
数据卷容器创建一个专门的容器来作为数据卷,用于在多个容器之间共享数据。
卷的生命周期卷的生命周期独立于容器,即使容器被删除,卷中的数据仍然保留。
管理卷使用 docker volume create 创建卷,使用 docker volume rm 删除卷。
卷的挂载在容器运行时使用 -v 或 --mount 选项挂载卷。
命名卷可以使用名称来标识卷,方便管理和引用。
卷的驱动器Docker 支持多种卷驱动器插件,用于不同的存储后端。
数据卷备份可以使用 docker run 命令结合特定的命令行工具来备份卷中的数据。
示例运行一个带有挂载宿主机目录的容器:docker run -v /宿主机路径:/容器内路径 镜像名
7. Docker Compose
内容描述
定义Docker Compose 是一个用于定义和运行多容器Docker应用程序的工具。
安装可以通过包管理器或直接从Docker Compose的GitHub仓库下载安装。
YAML文件使用YAML文件格式来配置应用程序的各个服务,包括构建参数、网络和存储等。
服务在Compose中,每个容器应用都是一个服务,YAML文件中的services部分定义了它们。
依赖可以定义服务之间的依赖关系,确保按正确的顺序启动和停止服务。
环境变量通过环境变量或.env文件来配置服务的配置参数。
命令提供了updownbuildrun等命令来管理整个应用程序的生命周期。
网络Compose允许定义网络并为服务配置网络连接。
存储可以为服务配置卷挂载,实现数据持久化。
扩展性允许通过简单的扩展语法来指定服务的运行实例数量。
日志可以配置日志记录方式,以及如何将日志输出到主机系统。
示例使用Docker Compose运行一个由前端和后端组成的web应用:docker-compose up
8. Dockerfile 编写
内容描述
Dockerfile是一个包含一系列指令的文本文件,用于自动化构建Docker镜像。
指令如 RUNCOPYADDCMDENTRYPOINTEXPOSEENVVOLUMEUSERWORKDIR 等。
基础镜像通常以 FROM 指令开始,指定基础镜像。
维护者使用 MAINTAINER(已废弃,建议使用 LABEL)指定镜像的作者信息。
环境变量使用 ENV 设置环境变量。
工作目录使用 WORKDIR 设置容器内的工作目录。
复制文件使用 COPY 或 ADD 将文件复制到镜像中。
指令执行使用 RUN 执行命令来构建镜像。
依赖管理通过合理组织 RUN 指令,减少不必要的层,优化镜像大小。
启动命令使用 CMD 指定容器启动时执行的默认命令。
入口点使用 ENTRYPOINT 指定容器的入口点,可以被 CMD 覆盖。
网络设置使用 EXPOSE 指定容器运行时监听的端口。
清理使用 RUN 指令执行清理操作,如删除临时文件,减少镜像大小。
多阶段构建使用多个 FROM 指令实现多阶段构建,优化最终镜像。
最佳实践- 保持Dockerfile简洁,减少层次。
- 使用官方基础镜像。
- 避免在镜像中存储敏感数据。
示例一个简单的Dockerfile示例:
FROM ubuntu:20.04
WORKDIR /app
COPY . /app
RUN make /app
CMD ["./myapp"]
9. Docker Registry
内容描述
定义Docker Registry 是一个存储Docker镜像的服务,允许推送和拉取镜像。
Docker Hub最为流行的公共Docker Registry,由Docker公司维护。
私有仓库可以设置私有的Docker Registry,用于存储内部使用的镜像。
认证私有仓库通常需要认证信息才能推送或拉取镜像。
镜像命名镜像名称由三部分组成:仓库地址、用户名、镜像名和标签。
推送镜像使用 docker push 用户名/镜像名:标签 将本地镜像推送到仓库。
拉取镜像使用 docker pull 用户名/镜像名:标签 从仓库拉取镜像。
搜索镜像使用 docker search 命令在Docker Hub上搜索镜像。
登录/注销使用 docker login 和 docker logout 与仓库进行认证。
镜像删除可以从仓库中删除不需要的镜像。
安全私有仓库应配置安全措施,如TLS和访问控制。
镜像扫描可以使用Docker Hub或第三方服务对镜像进行安全扫描。
镜像标签标签用于区分同一镜像的不同版本,如 myimage:latest
最佳实践- 不要使用 latest 标签作为生产环境的镜像标签。
- 使用特定的标签版本以确保一致性和可重复性。
示例将本地的 myimage 镜像推送到Docker Hub上的 myregistry 仓库:docker push myregistry/myimage:1.0
10. Docker 存储驱动
内容描述
定义Docker 存储驱动是Docker用来在主机上管理文件系统的插件。
默认驱动overlay2: Linux系统的默认驱动。
AUFS: 旧版本的Docker使用AUFS作为默认驱动。
其他驱动Btrfs: 高性能文件系统,支持写时复制。
ZFS: 功能丰富的文件系统,支持快照和压缩。
选择驱动根据存储性能、数据完整性和系统兼容性选择合适的存储驱动。
管理驱动使用 docker info 查看当前使用的存储驱动。
创建卷存储驱动决定了卷的创建和管理方式。
镜像层存储驱动管理镜像层的存储和访问。
性能影响不同的存储驱动对Docker容器的性能有影响。
数据完整性某些存储驱动如ZFS提供了数据完整性校验。
配置驱动可以在Docker守护进程启动时通过 --storage-driver 配置存储驱动。
存储驱动选项某些存储驱动支持额外的配置选项,如 overlay2 的 overlay2.size
最佳实践- 了解不同存储驱动的优缺点。
- 在生产环境中使用稳定的存储驱动。
- 定期检查和维护存储驱动。
示例启动Docker守护进程时指定使用Btrfs存储驱动:dockerd --storage-driver=btrfs
 11.Docker镜像构建
内容描述
Dockerfile构建镜像的核心,包含一系列指令来定义镜像内容。
构建上下文构建过程中Docker会将当前目录(或指定路径)下的所有文件发送给守护进程,称为构建上下文。
缓存Docker在构建过程中会使用缓存以加快后续构建,可以通过 . 来强制缓存失效。
多阶段构建使用多个FROM指令在Dockerfile中实现多阶段构建,减小最终镜像大小。
优化优化Dockerfile指令以减少镜像大小和构建时间。
构建命令使用 docker build 命令来根据Dockerfile构建镜像。
参数在构建时可以传递参数给Dockerfile,如 --build-arg
标签为新构建的镜像指定标签,如 -t myimage:latest
构建日志构建过程中会输出日志,可以查看每一步的执行情况。
网络构建时可以选择使用或不使用网络。
资源限制可以设置CPU和内存限制。
安全避免在Dockerfile中使用不安全的指令,如 RUN rm -rf /
最佳实践- 保持Dockerfile简洁且高效。
- 不要在Dockerfile中硬编码敏感信息。
- 使用官方基础镜像。
示例构建一个名为myimage的镜像:docker build -t myimage .
12.Docker容器运行
内容描述
运行容器使用 docker run 命令来启动一个新的容器实例。
参数包括 -d(后台运行)、--name(指定容器名)、-p(端口映射)等。
网络模式可以指定容器的网络连接方式,如 bridgehostnone 或自定义网络。
环境变量使用 -e 或 --env 设置环境变量。
数据卷使用 -v 或 --volume 映射数据卷,实现数据持久化或共享。
资源限制使用 --memory 和 --cpus 限制容器使用的资源。
容器链接使用 --link 连接其他容器(不推荐,推荐使用自定义网络)。
健康检查使用 --health-cmd--health-interval--health-retries--health-timeout 设置健康检查。
启动命令可以通过 CMD 或 ENTRYPOINT 在Dockerfile中预设,也可以在运行时通过命令行参数覆盖。
信号和停止容器对某些信号(如 SIGTERM)有默认行为,可以通过 --signal 指定其他信号,使用 docker stop 停止容器。
重启策略使用 --restart 指定重启策略,如 alwaysunless-stoppedon-failure
用户和用户组使用 --user 指定运行容器的用户和用户组。
工作目录使用 --workdir 或 -w 设置容器内的工作目录。
容器特权使用 --privileged 给予容器额外的权限(不推荐)。
读-only文件系统使用 --read-only 使容器的文件系统为只读。
示例运行一个后台的nginx容器并映射端口:docker run -d -p 80:80 --name mynginx nginx
13.Docker容器日志
内容描述
日志驱动Docker 容器的日志可以通过不同的日志驱动进行管理。
默认日志驱动默认为 json-file,以JSON格式存储日志。
日志选项使用 --log-driver 和 --log-opt 指定日志驱动及其选项。
查看日志使用 docker logs 命令查看容器的日志输出。
实时日志使用 docker logs -f 实时跟踪日志输出。
日志旋转json-file 驱动支持日志旋转,通过 --log-opt max-size 和 --log-opt max-file 设置。
自定义日志驱动Docker 允许使用第三方日志驱动,如 sysloggelf 等。
日志管理日志管理是容器维护的重要部分,需要定期清理旧日志。
日志级别某些应用允许通过环境变量设置日志级别,如 DEBUGINFOERROR
结构化日志使用结构化日志(如JSON格式)可以方便日志的解析和分析。
日志隐私确保日志中不包含敏感信息,或使用相关选项对敏感信息进行脱敏。
最佳实践- 定期清理和归档日志以节省空间。
- 使用第三方日志管理工具(如ELK Stack)进行日志分析。
示例查看名为 mycontainer 的容器的日志:docker logs mycontainer
 14.Docker容器监控
内容描述
监控目的监控容器的运行状态、性能指标和日志,以确保服务的稳定性和可维护性。
Docker Stats使用 docker stats 命令实时监控容器的资源使用情况,如CPU、内存、网络I/O等。
日志监控通过配置日志驱动,将容器日志发送到外部日志系统进行监控和分析。
第三方工具使用如Prometheus、Grafana、Datadog等工具进行容器和集群的监控。
健康检查Docker容器支持健康检查,可以定期检查容器内服务的健康状态。
资源限制通过Docker运行时配置对容器的CPU和内存使用进行限制,防止单个容器占用过多资源。
系统监控可以使用宿主机的监控系统来间接监控容器,如使用cAdvisor等。
事件监控Docker提供了事件系统,可以使用 docker events 命令来监控容器和镜像的事件。
可视化利用图形界面工具提供直观的监控视图,帮助快速识别问题。
告警系统配置告警系统,在容器出现异常时及时通知管理员。
容器内监控在容器内部运行监控代理,如Telegraf或StatsD,收集应用层面的监控数据。
最佳实践- 定期检查容器状态和性能指标。
- 使用自动化工具进行监控和日志分析。
- 配置详细的健康检查。
示例使用 docker stats 监控所有运行中的容器:docker stats
15.Docker安全性
内容描述
镜像安全使用可信的基础镜像,并定期更新以修复安全漏洞。
最小权限原则容器应该只运行必要的服务,避免使用特权模式。
用户命名空间使用用户命名空间隔离容器的进程空间。
安全扫描使用Docker内置的扫描工具或第三方工具扫描镜像中的安全漏洞。
网络隔离使用Docker的网络特性隔离容器间的通信。
存储安全对敏感数据使用加密卷或绑定挂载,并限制卷的访问权限。
运行时安全监控容器的运行时行为,确保没有异常活动。
资源限制使用资源限制防止单个容器占用过多系统资源。
安全配置遵循Docker官方的安全配置最佳实践。
用户认证对私有仓库使用认证机制,限制未授权访问。
安全更新定期对Docker引擎和运行中的容器应用安全更新。
审计日志启用Docker守护进程的审计日志,记录关键操作。
容器逃逸防护防止攻击者从容器逃逸到宿主机。
安全工具使用如SELinux、AppArmor等安全模块增强安全性。
最佳实践- 不要在容器内运行root用户。
- 定期对Docker守护进程进行安全审计。
- 使用私有仓库存储敏感镜像。
示例运行一个安全的容器,不使用特权模式:docker run -d --name mycontainer --user 1000 myimage
16. Docker Swarm
内容描述
定义Docker Swarm 是 Docker 原生的集群管理工具,用于将多个 Docker 主机组合成一个虚拟主机来管理容器。
集群由多个运行 Docker 引擎的节点组成,这些节点可以是物理机或虚拟机。
节点角色Manager: 管理集群状态,处理集群中的服务更新和任务分配。
Worker: 执行由 Manager 分配的任务,运行容器。
初始化使用 docker swarm init 初始化一个新的 Swarm 集群。
加入集群新节点使用 docker swarm join 命令加入到集群中。
服务在 Swarm 集群中,容器是作为服务运行的,可以指定服务的复制数量。
更新Swarm 支持滚动更新,无需停止整个服务即可更新容器。
负载均衡Swarm 提供内置的负载均衡器,可以跨多个容器分发流量。
网络Swarm 网络允许容器在集群中的节点间通信。
安全性支持使用TLS加密集群节点间的通信。
故障转移支持故障转移,如果一个节点失败,可以自动将任务转移到其他节点。
可扩展性易于扩展,可以通过添加或移除节点来调整集群的大小。
最佳实践- 将日志记录、监控和备份等运维操作自动化。
- 合理规划节点的角色分配,根据资源和需求分配 Manager 和 Worker 节点。
示例初始化一个新的 Swarm 集群:docker swarm init --advertise-addr <MANAGER-IP>
17. Docker Stack
内容描述
定义Docker Stack 是一个用于定义多个服务及其部署关系的集合,通常用于Swarm集群。
部署使用 docker stack deploy 命令部署一个Stack。
服务编排Stack 允许定义服务之间的依赖关系和部署参数。
更新可以更新Stack并实现滚动更新,无需停止整个服务。
删除使用 docker stack rm 删除一个Stack及其所有服务。
服务Stack 中的服务可以跨多个节点运行,实现负载均衡和高可用性。
YAML文件使用YAML文件定义Stack,包括服务、网络和存储等配置。
扩展性可以很容易地扩展服务的实例数量以应对不同的负载需求。
滚动更新Stack 支持无停机时间的滚动更新。
日志和监控可以为Stack配置日志和监控选项。
安全性支持使用TLS加密服务之间的通信。
最佳实践- 使用版本控制管理Stack定义文件。
- 为Stack配置适当的资源限制以避免资源竞争。
- 定期更新和维护Stack以确保安全性和稳定性。
示例使用YAML文件部署名为 myapp 的Stack:docker stack deploy -c stack.yaml myapp
18.Docker插件
内容描述
定义Docker 插件是一种扩展 Docker 功能的机制,可以添加新的特性或增强现有功能。
类型Volume: 提供额外的卷驱动。
Network: 提供额外的网络驱动。
Authorization: 提供授权插件。
Log: 提供日志驱动插件。
安装使用 docker plugin install 命令安装插件。
列表使用 docker plugin ls 查看已安装的插件。
配置插件可以通过选项进行配置,这些选项在安装时指定。
权限插件可能需要特定的权限来执行操作,这些权限在安装时设置。
更新插件可以被更新到新版本,使用 docker plugin upgrade
卸载使用 docker plugin rm 卸载不再需要的插件。
开发开发者可以创建自定义插件来扩展 Docker。
安全性在安装和使用插件时需要考虑安全性,仅安装信任来源的插件。
社区插件Docker 提供了一个官方的插件库,用户可以从中发现和安装插件。
最佳实践- 仅安装和使用经过验证的插件。
- 定期更新插件以修复安全漏洞。
示例安装一个名为 flocker 的卷插件:docker plugin install flocker
19. Docker 命令行工具
内容描述
Docker CLIDocker 提供了一个命令行界面(CLI),用于与 Docker 守护进程交互。
命令分类Docker 命令可以分为容器、镜像、网络、卷、插件等几类。
自动补全Docker CLI 支持命令和参数的自动补全,提高使用效率。
命令帮助使用 --help 选项可以查看命令的使用帮助,例如 docker run --help
脚本可以编写脚本来自动化 Docker 命令的执行。
环境变量Docker CLI 支持通过环境变量进行配置。
配置文件Docker 的配置可以通过配置文件 config.json 进行设置。
调试使用 dockerd 命令行参数启动调试模式的 Docker 守护进程。
版本控制Docker CLI 支持通过版本号来使用特定版本的 Docker 守护进程。
安全性注意保护 Docker CLI 的凭据和配置,避免未授权的访问。
最佳实践- 使用 --rm 选项自动清理容器文件系统。
- 限制容器的资源使用,例如使用 --memory
- 使用 .dockerignore 文件忽略不需要的文件。
示例运行一个交互式的 shell 容器:docker run -it --rm ubuntu bash
20.Docker 实践案例
内容描述
微服务架构Docker 常用于微服务架构,每个服务可以独立容器化部署。
持续集成/持续部署 (CI/CD)Docker 可以集成到 CI/CD 流程中,实现代码的自动构建、测试和部署。
开发与生产环境一致性Docker 确保开发、测试和生产环境的一致性。
本地开发开发者可以使用 Docker 在本地机器上模拟生产环境。
数据科学Docker 用于数据科学项目,封装依赖和运行环境。
机器学习机器学习模型和依赖可以容器化,便于共享和部署。
DevOpsDocker 支持 DevOps 实践,如自动化部署和快速迭代。
多环境部署同一应用可以跨不同环境(开发、测试、生产)部署而无需修改代码。
云原生应用Docker 与 Kubernetes 等编排工具配合,支持云原生应用的部署和管理。
安全性隔离Docker 提供的隔离机制用于安全地运行不受信任的应用程序。
节省资源Docker 容器共享宿主机资源,提高资源利用率。
快速启动容器启动速度快,适合需要快速扩展的场景。
最佳实践- 为不同的环境使用不同的配置和镜像。
- 保持镜像精简,仅包含必要的依赖。
- 使用健康检查确保服务的可用性。
示例在 Kubernetes 集群上部署一个由多个微服务组成的应用:使用 Helm charts 或 Kubernetes manifests 来定义和部署服务。

学起来吧,卷起来吧!学不完根本学不完! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 BurpSuite 基于 Token 机制实施暴力破解

前言 Token是一种用于身份验证和授权的令牌&#xff0c;通常由服务器生成并发送给客户端&#xff0c;客户端在后续的请求中携带该令牌来进行身份验证和授权操作。Token的使用可以增强应用程序的安全性&#xff0c;避免了直接传递敏感凭证&#xff08;如用户名和密码&#xff0…

Gradle 进阶学习之 Gradle插件

1、使用插件的原因 使用插件是现代自动化构建工具中一个非常重要的概念&#xff0c;Gradle 作为其中一个流行工具&#xff0c;通过插件提供了多种便利。以下是使用插件的几个主要原因&#xff1a; 促进代码重用 减少重复代码&#xff1a;插件允许你重用在不同项目中执行相同功…

Linux中gcc/g++的使用

文章目录 前言gcc/g 前言 gcc和g即为编译器。其中gcc为c语言的编译器&#xff0c;只能编译c语言&#xff1b;g为c的编译器&#xff0c;既能编译c语言&#xff0c;又能编译c。 在前面的文章中&#xff0c;我们提到代码转换成可执行程序需要经过 预处理&#xff08;进行宏替换)…

ID决策树的构造原理

前言 &#x1f3f7;️&#x1f3f7;️本章开始学习有关决策树的相关知识&#xff0c;决策树是一种树形模型&#xff0c;也是一种常用的分类和回归方法。本章我们首先介绍第一种决策树的构造原理 学习目标 了解决策树算法的基本思想掌握 ID3 决策树的构建原理 1.决策树介绍 …

Spring Cloud Kubernetes 实践 服务注册发现、服务动态配置

一、Spring Cloud Kubernetes 随着云计算和微服务架构的不断发展&#xff0c;k8s 和Spring Cloud成为了当今技术领域的两大热门话题。k8s作为一个开源的容器编排平台&#xff0c;已经在自动化部署、扩展和管理方面取得了巨大的成功&#xff0c;而Spring Cloud则以其丰富的生态…

区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测(Matlab)

区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09; 目录 区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基…

傲软录屏(ApowerREC)一款简单好用的录屏软件,中文破姐版 v1.6.9.6(240501)

软件介绍 傲软录屏&#xff0c;是由ApowerREC开发的一款高级录屏软件&#xff0c;兼容多个操作系统平台&#xff0c;包括Windows、Mac以及基于安卓和iOS的设备。这款专业工具具备捕捉各类屏幕活动的能力&#xff0c;确保音视频同步&#xff0c;无论用户是进行电脑桌面操作、参…

C++string类使用大全

目录 温馨提示&#xff1a;这篇文章有约两万字 什么是string类&#xff1f; 一. 定义和初始化string对象 1.string的构造函数的形式&#xff1a; 2.拷贝赋值运算符 3.assign函数 二.string对象上的操作 1.读写string对象 2.读取未知数量的string对象 3.使用getline …

软件工程毕业设计选题100例

文章目录 0 简介1 如何选题2 最新软件工程毕设选题3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题&#xff0c;难度适中&#xff0c;适合作为毕业设计&#xff0c;大家参考。 学长整理的题目标准&#xff1a; 相对容易工作量达标题目新颖 1 如何选题 最近非常多的…

Mac brew安装Redis之后更新配置文件的方法

安装命令 brew install redis 查看安装位置命令 brew list redis #查看redis安装的位置 % brew list redis /usr/local/Cellar/redis/6.2.5/.bottle/etc/ (2 files) /usr/local/Cellar/redis/6.2.5/bin/redis-benchmark /usr/local/Cellar/redis/6.2.5/bin/redis-check-ao…

高级商务谈判口才培训教程(3篇)

高级商务谈判口才培训教程&#xff08;3篇&#xff09; 高级商务谈判口才培训教程&#xff08;**篇&#xff09;&#xff1a;基础篇 一、前言 在高级商务谈判中&#xff0c;口才不仅是交流的工具&#xff0c;更是策略执行的关键。本教程将从基础出发&#xff0c;带领大家逐步掌…

【PHP】安装指定版本Composer

1、下载指定版本composer.phar文件&#xff1a;https://github.com/composer/composer/releases 2、将下载的文件添加到全局路径&#xff1a; sudo mv composer.phar /usr/local/bin/composer 3、赋予权限&#xff1a; sudo chmod x /usr/local/bin/composer 4、查看compos…

52.HarmonyOS鸿蒙系统 App(ArkTS)配置文件添加多个权限方法

52.HarmonyOS鸿蒙系统 App(ArkTS)配置文件添加多个权限方法 module.json5

前端开发者如何在项目里控制修改组件的样式

1为了让自己快速下班&#xff0c;修改样式应该是占据大部分时间&#xff0c;在很多组件库的项目里&#xff0c;都会提到主题设置。 比如element的scss配置变量&#xff0c;通常有人喜欢直接引入css样式来快速完成任务&#xff0c;然后在全局覆盖这些选择器对应的样式&#xff0…

OpenCV(二)—— 车牌定位

从本篇文章开始我们进入 OpenCV 的 Demo 实战。首先&#xff0c;我们会用接下来的三篇文章介绍车牌识别 Demo。 1、概述 识别图片中的车牌号码需要经过三步&#xff1a; 车牌定位&#xff1a;从整张图片中识别出牌照&#xff0c;主要操作包括对原图进行预处理、把车牌从整图…

信号知识详解

目录 1、信号的产生 2、core 核心转储 3、信号的保存 4、信号的处理 信号是linux系统提供的&#xff0c;让用户或进程给其他进程发送异步信息的一种方式。 常见的信号处理方式&#xff1a; 1、默认行为 2、忽略 3、自定义 1、信号的产生 1、kill命令 我们可以使用命令 k…

过渡与动画

单元素/组件过渡 Vue在插入、更新或者移除 DOM 时&#xff0c;提供多种不同方式的过渡效果&#xff08;一个淡入淡出的效果&#xff09; 在条件渲染&#xff08;使用v-if&#xff09;、条件展示&#xff08;使用v-show&#xff09;、动态组件、组件根节点等情形中&#xff0c;可…

【火猫DOTA2】电竞世界杯DOTA2项目将在7月份的前三周举办

1、电竞世界杯将于今年7月3日至8月25日在沙特利雅得举办。近日主办方公布了各个项目的举办时间,其中DOTA2项目将在7月份的前三周举办。转载:火猫TV资讯https://www.huomaotv.com/ 目前Falcons、XG、GG和Liquid这五支赢得了足够EPT积分的队伍已经确定直邀沙特。剩下的三个名额还…

SpringBoot集成Kafka开发

4.SpringBoot集成Kafka开发 4.1 创建项目 4.2 配置文件 application.yml spring:application:name: spring-boot-01-kafka-basekafka:bootstrap-servers: 192.168.2.118:90924.3 创建生产者 package com.zzc.producer;import jakarta.annotation.Resource; import org.spri…

MATLAB 数据输出

MATLAB 数据输出 数据导出(或输出)在 MATLAB 的意思是写入文件。MATLAB 允许您在另一个读取 ASCII 文件的应用程序中使用您的数据。为此&#xff0c;MATLAB 提供了几个数据导出选项。 您可以创建以下类型的文件- 数组中的矩形、分隔的ASCII数据文件。 击键的日记&#xff08…