最新资讯

  • docker学习使用教程

docker学习使用教程

2025-04-28 00:38:21 23 阅读

一、Docker概述

(一)概述

1.Docker为什么会出现?

业务是基于应用(Application)运转的。曾经,每个服务器只能运行单一应用。每次想要增加一个新的应用时,公司就需要去采购一个新的服务器。

由于没有人知道新增应用所需的服务器性能究竟是怎样的,在采购的时候就不得不买那些性能大幅优于业务需求的服务器。这种做法导致了大部分服务器长期运行在他们额定负载5%~10%的水平区间之内。这对公司资产和资源是一种极大的浪费!

虚拟机

为了解决上面的问题,VMware公司给全世界带来了一个礼物——虚拟机(VM)​。每当需要增加应用的时候,公司无须采购新的服务器。取而代之的是,尝试在现有的,并且有空闲性能的服务器上部署新的应用。

但是虚拟机最大的缺点就是依赖其专用的操作系统(OS)​。OS会占用额外的CPU、RAM和存储,这些资源本可以用于运行更多的应用。每个OS都需要补丁和监控。虚拟机技术也面临着一些其他挑战。比如虚拟机启动通常比较慢,并且可移植性比较差——虚拟机在不同的虚拟机管理器(Hypervisor)或者云平台之间的迁移要远比想象中困难。

容器

长期以来,像谷歌(Google)这样的大规模Web服务(Big Web-Scale)玩家一直采用容器(Container)技术解决虚拟机模型的缺点。

容器模型其实跟虚拟机模型相似,其主要的区别在于,容器的运行不会独占操作系统。实际上,运行在相同宿主机上的容器是共享一个操作系统的,这样就能够节省大量的系统资源,如CPU、RAM以及存储。

容器同时还能节省大量花费在许可证上的开销,以及为OS打补丁等运维成本。最终结果就是,容器节省了维护成本和资金成本。同时容器还具有启动快和便于迁移等优势。

而Docker是一种运行于Linux和Windows上的软件,用于创建、管理和编排容器。

2.什么是Docker?

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

多数技术人员在谈到Docker时,主要是指Docker引擎。Docker引擎是用于运行和编排容器的基础设施工具。

3.docker是怎么运行的?


类似于redis,首先运行一个docker的服务端,然后通过docker的客户端进行构建、拉取、运行。

docker会首先在本地仓库寻找镜像运行,若不存在就会去外部Docker仓库查找镜像运行。在外部仓库查找到镜像之后下载到本地进行运行,若依然不存在则会报错。

镜像(image)

docker镜像好比一个模板,可以通过这个模板来创建容器服务。

容器(container)

docker利用容器技术,独立运行一个或一组应用,通过镜像创建的。

可以把容器简单理解为一个简易版的linux系统,有启动、停止、删除的基本命令。

仓库(repository)

仓库是存放镜像的地方。仓库分为公有仓库和私有仓库。公有的仓库默认是国外的DockerHub,需要配置国内的镜像加速。

(二)Docker安装

docker官方帮助文档:https://docs.docker.com

1.linux版Docker

(1)卸载旧版本

如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine
(2)安装必要的软件包

yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y yum-utils
(3)设置国内的镜像仓库

官方源的地址仓库比较慢,下面设置国内(阿里云)的镜像仓库。

$ sudo yum-config-manager 
    --add-repo 
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)安装docker

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
(5)启动docker

安装完成后启动docker。

systemctl start docker

启动完成后,查看版本是否启动成功

docker version

docker的默认工作路径在/var/lib/docker

(6)测试docker

通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

显示如下,就说明docker安装运行正常。

(7)问题解决

有可能运行不正常,可能是没有使用国内镜像导致的。可以多尝试几种国内镜像源。

sudo vi /etc/docker/daemon.json

编辑添加以下的几种镜像源

{
    "registry-mirrors":
    [
    "https://docker.m.daocloud.io/",
    "https://huecker.io/",
    "https://noohub.ru/",
    "https://dockerproxy.com",
    "https://docker.nju.edu.cn",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
    ]
}

修改完成后,重启 Docker 服务:

sudo systemctl restart docker

2.windows版Docker

以前Docker只能安装在linux系统上,现在由于微软公司和Docker公司的合作,Docker可以安装在win10及以上的版本的操作系统上。

Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。

Docker Desktop 官方下载地址: https://docs.docker.com/desktop/install/windows-install/

注意:此方法仅适用于 Windows 10 操作系统专业版、企业版、教育版和部分家庭版!

(1)开启 Hyper-V

在安装之前,Windows版Docker的环境需要确认在Windows 10操作系统中,Hyper-V和容器特性已安装并且开启。

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!


如图,在“控制面板-程序和功能-启用或关闭Windows功能”中确认Hyper-V和容器复选框已经被勾选,并单击确定按钮。

(2)安装 Docker Desktop for Windows

下载 Windows 的版本,如果你还没有登录,会要求注册登录:

Docker默认的安装路径是在C:Program FilesDockerDocker,可按下列命令指定安装的路径:

"Docker Desktop Installer.exe"  install --installation-dir="D:Program FilesDocker"

提前已经在windows系统中配置好了虚拟linux环境,配置WSL或启用Hyper-V二选一。

推荐使用windows子系统WSL,它需要占用系统盘30G的空间。(需要确保C盘有30G的空间,否则安装失败)

(3)在D盘安装

通常我们不希望把软件装在C盘,也可以把docker装到其它盘。

例如,在D盘的Program Files文件夹下创建Docker和Docker/data目录

  • D:Program FilesDocker:Docker Desktop 的安装目录。
  • D:Program FilesDockerdata:Docker 用于存储镜像、容器、卷等数据的目录。
start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:Program FilesDocker" --wsl-default-data-root="D:Program FilesDockerdata" --windows-containers-default-data-root="D:Program FilesDocker"

命令解释
--installation-dir="D:Program FilesDocker":指定 Docker Desktop 的安装目录。
--wsl-default-data-root="D:Program FilesDockerdata":指定 WSL 存储 Docker 数据的目录。
--windows-containers-default-data-root="D:Program FilesDocker":双斜杠用于 Windows 容器存储路径。

(4)启动docker


注意:根据安装的docker版本和自身windows系统的版本兼容性,可能会报Docker Desktop - WSL update failed的错误。

如果是安装的最新版本Docker,则可以搜windows更新助手将系统更新下到最新的版本。

然后“Windows时接收其他Microsoft产品的更新”的功能也记得要打开。

(5)添加国内镜像

有可能拉取不了任何镜像,这时需要添加国内的镜像源才行。

settings -> Docker Engine 中添加配置后重启即可。

接着就可以正常在windows系统上使用docker了。

二、docker基本使用

(一)基本命令

1.帮助命令

若不知道docker有哪些命令,或者怎么使用,可以输入以下命令进行查询:

docker --help

各命令官方文档:https://docs.docker.com/reference/cli/docker/

2.查看docker详细信息

查看docker详细信息,包括镜像、容器数量

docker info

(二)镜像命令

1.查看docker镜像

docker images

2.搜索docker镜像

docker search  镜像名

由于docker默认搜索国外镜像源,而国内镜像源只支持加快拉取,因此搜索功能的生效需要翻墙才行。

或者在国内主流镜像服务(如阿里云、腾讯云、网易云等)提供的网页界面搜索镜像。

阿里云官方镜像站:https://developer.aliyun.com/mirror/

3.拉取docker镜像

拉取镜像就是从中央仓库下载镜像到本地。

docker pull 镜像名[:tag]

如果不声明tag镜像标签信息则默认拉取latest版本。

4.删除docker镜像

(1)删除单个镜像

可以按镜像名+版本号删除某个镜像

docker rmi -f 镜像名

也可以按镜像ID删除单个镜像。

docker rmi 镜像ID

(2)删除多个镜像

按镜像ID删除多个镜像。

执行命令:

docker rmi 镜像ID 镜像ID 镜像ID
(3)删除所有镜像

docker images -q可以查询到所有镜像的ID,通过组合命令可以实现删除所有镜像的操作。

执行命令:

docker rmi docker images -q

(三)容器命令

1.查看运行中的容器

查看正在运行的容器。

docker ps 
# 参数说明
     # 列出最近正在运行的容器
-a   # 列出所有运行过的容器,带出历史中运行的容器
-n=? # 列出最近几项运行过高的容器
-q   # 显示容器编号


(1)查看停止的容器。

执行命令:

docker ps -f status=exited
(2)查看所有容器(包括运行和停止)。

执行命令:

docker ps -a
(3)查看最后一次运行的容器。

执行命令:

docker ps -l
(4)列出最近创建的 n 个容器。
执行命令:docker ps -n 5

2.创建并运行容器

Docker用Registry来保存用户构建的镜像。Registry分为公共和私有两种。Docker公司运营公共的Registry叫做Docker Hub。用户可以在Docker Hub注册账号,分享并保存自己的镜像。

Docker公司提供了公共的镜像仓库https://hub.docker.com(Docker 称之为 Repository)提供了庞大的镜像集合供使用。

一个Docker Registry中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签对应该软件的各个版本。我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以latest作为默认标签。


下面为docker创建并运行容器的命令

docker run [可选参数] image
# 参数说明

-i 表示运行容器;
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端
--name 为创建的容器命名,例如tomcat1,tomcat2,用来区分容器
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上;
-d 在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里);
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。
-P 随机使用宿主机的可用端口与容器内暴露的端口映射。
(1)创建并进入容器

下面这行命令的意思就是通过镜像 AA 创建一个容器 BB,运行容器并进入容器的/bin/bash。

docker run -it --name 容器名称 镜像名称:标签 /bin/bash

注意:Docker容器运行必须有一个前台进程,如果没有前台进程执行,容器认为是空闲状态,就会自动退出。

(2)守护式方式创建容器

创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里)

docker run -di --name 容器名称 镜像名称:标签
(3)登录守护式容器方式

在指定的运行中Docker容器内启动一个新的交互式Bash shell会话,允许用户直接在容器内部执行命令和操作文件系统等任务。这对于调试、检查容器内部状态或者进行实时修改都非常有用。

docker exec -it 容器名称|容器ID /bin/bash

请注意,这条命令不会创建一个新的容器,而是作用于已经存在的且正在运行的容器上。如果你尝试对未运行的容器使用这个命令,将会失败。

进入之后开启一个新的终端,应该第一次打开终端时运行该命令。

(4)进入之前的终端

打开过终端后,进入之前的那个终端

docker attach 容器名称|容器ID    # 进入正在执行的终端,不会开启新进程
(5)退出容器

进入容器内部后,按以下方式退出

exit      # 停止容器并退出
Ctrl+p+q  # 容器不停止的退出

3.删除容器

(1)删除单个容器

删除一个或多个已经停止运行的Docker容器。你可以通过容器的ID或者名称来指定要删除的容器。

docker rm 容器名称|容器ID  

默认情况下,你不能使用这个命令删除正在运行的容器。

如果尝试删除正在运行的容器,将会收到错误信息。然而,如果你确实需要删除正在运行的容器,可以添加 -f 或 --force 参数来强制删除。

注意:删除镜像命令是docker rmi,需要仔细区分。

(2)删除所有容器

这条命令组合使用了两个Docker命令来删除所有容器(包括正在运行和已停止的)。

docker rm -f $(docker ps -aq) # 删除所有的容器

请确保你在执行这条命令之前确实希望删除所有容器,因为这将不可逆地移除所有容器及其数据,除非这些数据被挂载到了主机系统的卷中。

4.停止和启动容器

(1)停止容器

停止一个或多个正在运行中的Docker容器。可以通过容器的名称或者容器ID来指定要停止的容器。

docker stop 容器名称|容器ID

这种方式允许应用程序有机会正确地处理关闭前的操作,比如保存状态、关闭数据库连接等。

(2)启动容器

该命令命令是用来启动一个已经存在但是当前处于停止状态的Docker容器。

docker start 容器名称|容器ID

当你使用docker start命令时,Docker会重新启动指定的容器,并且以之前创建容器时定义的方式运行它,包括使用相同的参数和选项。

如果容器之前被正确地停止(即不是通过docker rm命令删除),那么它的文件系统、挂载的数据卷以及其他配置都会保持原样,容器将从上次停止的地方继续运行。

(3)重启容器

重启一个或多个Docker容器。你可以通过容器的ID或者名称来指定要重启的容器。

docker restart 容器名称|容器ID

实际上,docker restart命令相当于依次执行docker stopdocker start命令。首先它会尝试优雅地停止指定的容器,然后再次启动该容器。

这对于需要重新加载配置或应用更新而不必完全删除和重新创建容器的情况非常有用。

(4)强制停止容器

强制停止容器的运行。

它直接向容器内的主进程发送SIGKILL信号以立即终止容器,而不是给容器内进程机会去优雅地处理关闭流程。

docker kill 容器名称|容器ID

这个命令通常只在必要时使用,比如当容器无响应或出现异常行为时。

5.文件拷贝

有时候我们想在主机与Docker容器之间进行文件传输,但又不想先登录到容器内部再手动拷贝文件,docker cp 命令可以帮助我们解决问题。

(1)容器外拷贝到容器内

如果我们需要将文件拷贝到容器内可以使用cp命令。

docker cp 需要拷贝的文件或目录 容器名称:容器目录

例如,如果你想将主机上的 /home/user/data.txt 文件拷贝到名为 my_container 的容器内的 /app/data/ 目录下,可以使用如下命令:

docker cp /home/user/data.txt my_container:/app/data/
(2)容器内拷贝到容器外

也可以将文件从容器内拷贝出来。

docker cp 容器名称:容器目录 需要拷贝的文件或目录

例如,如果想把名为 my_container 的容器内的 /app/data/report.txt 文件拷贝到主机的 /home/user/reports/ 目录下,你可以执行以下命令:

docker cp my_container:/app/data/report.txt /home/user/reports/

6.目录挂载

实际上我们的容器就好像是一个简易版的操作系统,只不过系统中只安装了我们的程序运行所需要的环境,前边说到我们的容器是可以删除的,那如果删除了,容器中的程序产生的需要持久化的数据怎么办呢?容器运行的时候我们可以进容器去查看,容器一旦删除就什么都没有了。

所以数据卷就是来解决这个问题的,是用来将数据持久化到我们宿主机上,与容器间实现数据共享,简单的说就是将宿主机的目录映射到容器中的目录,应用程序在容器中的目录读写数据会同步到宿主机上,这样容器产生的数据就可以持久化了,比如我们的数据库容器,就可以把数据存储到我们宿主机上的真实磁盘中。

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器,而且这个操作是双向绑定的,也就是说容器内的操作也会影响到宿主机,实现备份功能。

但是容器被删除的时候,宿主机的内容并不会被删除。如果多个容器挂载同一个目录,其中一个容器被删除,其他容器的内容也不会受到影响。

Docker中的目录挂载通常通过使用-v--mount选项来实现,这允许你将主机的文件系统中的一个目录(或单个文件)挂载到容器内的指定位置。

命令格式如下:

# 单目录挂载
docker run -v /宿主机路径:/容器内路径[:选项] 镜像名
# 多目录挂载
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名

这种机制对于共享数据、持久化存储容器内生成的数据或者在开发过程中实时更新代码特别有用。

例如:

docker run -di -v /home/project/data:/usr/local/data --name centos7-01 centos:7

注意:当挂载一个目录时,如果容器内对应路径已存在内容,那么这些内容会被挂载的主机目录内容所掩盖。

(1)匿名挂载

匿名挂载只需要写容器目录即可,容器外对应的目录会在/var/lib/docker/volumes中生成。

# 匿名挂载
docker run -di -v /usr/local/data --name centos7-02 centos:7
# 查看 volume 数据卷信息
docker volume ls
(2)具名挂载

具名挂载就是给数据卷起了个名字,容器外对应的目录会在/var/lib/docker/volume中生成。

# 具名挂载
docker run -di -v docker_centos_data:/usr/local/data --name centos7-03 centos:7
# 查看 volume 数据卷信息
docker volume ls
(3)指定目录挂载

之前挂载方式就属于指定目录挂载,这种方式的挂载不会在/var/lib/docker/volume目录生成内容。

docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
# 多目录挂载
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
(4)只读/读写
# 只读。只能通过修改宿主机内容实现对容器的数据管理。
docker run -it -v /宿主机目录:/容器目录:ro 镜像名

# 读写,默认。宿主机和容器可以双向操作数据。
docker run -it -v /宿主机目录:/容器目录:rw 镜像名

这里,:ro 可以作为选项添加在后面来使挂载点为只读(read-only),例如:

docker run -v /project:/app:ro my_image
(5)挂载的新语法

使用 --mount 选项,提供了更清晰和更强大的配置方式,适用于更复杂的场景:

docker run --mount type=bind,source=/宿主机路径,target=/容器内路径[,readonly] 镜像名

例如,使用 --mount 来挂载 /project/app,设置挂载点为只读,可以这样操作:

docker run --mount type=bind,source=/project,target=/app,readonly my_image
(6)查看目录挂载关系

通过docker volume inspect数据卷名称 可以查看该数据卷对应宿主机的目录地址。

执行命令:

docker volume inspect docker_centos_data

通过docker inspect容器ID或名称 ,在返回的JSON节点中找到Mounts,可以查看详细的数据挂载信息。

(四)常用其它命令

1.显示日志

docker logs
# 参数
-tf          # 显示日志
-tail number # 指定日志条数

2.查看容器进程

docker top 

3.查看元数据

docker inspect 

三、应用部署实例

(一)部署Nacos

拉取官方nacos镜像

执行命令:

docker pull nacos/nacos-server

启动nacos

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server

启动成功后,可以访问http://目标IP:8848/nacos/index.html访问网页了。

(二)Nginx

拉取官方nginx镜像

执行命令:

docker pull nginx

创建Nginx容器。

docker run -di --name nginx -p 80:80 nginx

将容器内的配置文件拷贝到指定目录(请先提前创建好目录)。

# 创建目录
mkdir -p /data/nginx

# 将容器内的配置文件拷贝到指定目录
docker cp nginx:/etc/nginx /data/nginx/conf

终止并删除容器

docker stop nginx
docker rm nginx

创建Nginx容器,并将容器中的/etc/nginx目录和宿主机的/data/nginx/conf目录进行挂载。

docker run -di --name nginx -p 80:80 -v /data/nginx/conf:/etc/nginx nginx

(三)Mysql

拉取官方mysql5.7镜像

执行命令:

docker pull mysql:5.7

在本地创建mysql的映射目录

mkdir -p /home/mysql/data /home/mysql/logs /home/mysql/conf

创建容器,将数据、日志、配置文件映射到本机

docker run -p 3306:3306 --name mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/logs:/logs -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7

进入容器/执行命令:

docker exec -it mysql /bin/bash

(四)Redis

拉取官方redis镜像,执行命令:

docker pull redis

创建容器。

docker run -di --name redis -p 6379:6379 redis

连接容器中的Redis时,只需要连接宿主机的IP + 指定的映射端口即可。

四、镜像构建

我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求。尽管已经从繁琐的部署工作中解放出来,但是实际开发时,我们可能希望镜像包含整个项目的完整环境,在其他机器上拉取打包完整的镜像,直接运行即可。

Docker 支持自己构建镜像,还支持将自己构建的镜像上传至公共仓库,镜像构建可以通过以下两种方式来实现:

  • docker commit:从容器创建一个新的镜像;
  • docker build: 配合Dockerfile文件创建镜像。

(一)从容器创建新的镜像

下面我们先通过docker commit来实现镜像的构建。

目标:接下来我们通过基础镜像centos:7,在该镜像中安装jdk和tomcat以后将其制作为一个新的镜像mycentos:7

1.创建容器

# 拉取镜像
docker pull centos:7

# 创建容器
docker run -di --name centos7 centos:7

2. 拷贝资源和安装资源

例如,将jdk和tomcat安装配置至容器中

# 将宿主机的 jdk  拷贝至容器
docker cp jdk-8u111-linux-x64.tar.gz centos7:/root

# 将宿主机的tomcat 拷贝至容器
docker cp apache-tomcat-8.5.27.tar.gz centos7:/root

安装java和tomcat软件并配置环境

# 进入容器
docker exec -it centos7 /bin/bash

# 切换至 /root 目录
cd root/

# 创建 java 和 tomcat 目录
mkdir -p /usr/local/java
mkdir -p /usr/local/tomcat

# 将 jdk 和 tomcat 解压至容器 /usr/local/java 和 /usr/local/tomcat 目录中
tar -zxvf jdk-8u111-linux-x64.tar.gz -C /usr/local/java/
tar -zxvf apache-tomcat-8.5.27.tar.gz -C /usr/local/tomcat/

# 配置 jdk 环境变量
vi /etc/profile

# 在环境变量文件中添加以下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_111/
export PATH=$PATH:$JAVA_HOME/bin

# 重新加载环境变量文件
source /etc/profile

# 测试环境变量是否配置成功
java -version

# 删除容器内 jdk 和 tomcat
rm jdk-8u111-linux-x64.tar.gz apache-tomcat-8.5.27.tar.gz -rf

3.构建镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a="author_name" -m="jdk8 and tomcat8" centos7 mycentos:7

-a:提交的镜像作者;
-c:使用 Dockerfile 指令来创建镜像;
-m:提交时的说明文字;
-p:在 commit 时,将容器暂停。

4.使用构建的镜像创建容器

# 创建容器
docker run -di --name mycentos7 -p 8080:8080 mycentos:7

# 进入容器
docker exec -it mycentos7 /bin/bash

# 重新加载配置文件
source /etc/profile

# 测试 java 环境变量
java -version

# 启动 tomcat
/usr/local/tomcat/apache-tomcat-8.5.27/bin/startup.sh

访问http://{ip}:{port},看到tomcat页面说明环境表示成功。

(二)配合Dockerfile文件创建镜像

在Docker中构建镜像最常用的方式,就是使用DockerfileDockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

官方文档:https://docs.docker.com/engine/reference/builder

1.Dockerfile 常用指令

指令语法说明
FROMFROM :指明构建的新镜像是来自于哪个基础镜像,如果没有选择 tag ,那么默认值为 latest
MAINTAINERMAINTAINER 指明镜像维护者及其联系方式(一般是邮箱地址)。官方说明已过时,推荐使用 LABEL
LABELLABEL = …功能是为镜像指定标签。也可以使用 LABEL 来指定镜像作者
RUNRUN 构建镜像时运行的 shell 命令,比如构建的新镜像中我们想在 /usr/local 目录下创建一个 java 目录
ADDADD … 拷贝文件或目录到镜像中。src 可以是一个本地文件,还可以是一个 url 。然后自动下载和解压
COPYCOPY … 拷贝文件或目录到镜像中。用法同 ADD,只是不支持自动下载和解压
EXPOSEEXPOSE [port]/[protocol]…暴露容器运行时的监听端口给外部。可以指定端口是监听 TCP 还是 UDP,如果未指定协议,则默认为 TCP
ENVENV = …设置容器内环境变量
CMDCMD [“executable”,“param1”,“param2”]启动容器时执行的 Shell 命令,在 Dockerfile 中只能有一条 CMD 指令。如果设置了多条 CMD ,只有最后一条会生效
ENTRYPOINTENTRYPOINT [“executable”, “param1”, “param2”]启动容器时执行的 Shell 命令,同 CMD 类似,不会被 docker run 命令行指定的参数所覆盖,如果设置了多条 ENTRYPOINT ,只有最后一条会生效
WORKDIRWORKDIR param为 RUN、CMD、ENTRYPOINT 以及 COPY 和 AND 设置工作目录
VOLUMEVOLUME [“param”]指定容器挂载点到宿主机自动生成的目录或其他容器。一般的使用场景为需要持久化存储数据时

2.构建镜像

Dockerfile文件编写好以后,真正构建镜像时需要通过docker build命令。

docker build命令用于使用Dockerfile创建镜像。

# 使用当前目录的 Dockerfile 创建镜像
docker build -t mycentos:7 .

# 通过 -f Dockerfile 文件的位置创建镜像
docker build -f /home/ruoyi/docker/Dockerfile -t mycentos:7 .

-f:指定要使用的 Dockerfile 路径;
–tag, -t:镜像的名字及标签,可以在一次构建中为一个镜像设置多个标签。

3.Dockerfile 实践

接下来我们通过基础镜像centos:7,在该镜像中安装jdk和tomcat以后将其制作为一个新的镜像mycentos:7

(1)编写Dockerfile文件

创建目录,编写Dockerfile文件

mkdir -p /usr/local/`dockerfile`

执行命令:vi Dockerfile,写入信息。

# 指明构建的新镜像是来自于`centos:7`基础镜像
FROM centos:7
# 通过镜像标签声明了作者信息
LABEL maintainer="ruoyi.vip"

# 设置工作目录
WORKDIR /usr/local
# 新镜像构建成功以后创建指定目录
RUN mkdir -p /usr/local/java && mkdir -p /usr/local/tomcat
# 拷贝文件到镜像中并解压
ADD jdk-8u111-linux-x64.tar.gz /usr/local/java
ADD apache-tomcat-8.5.27.tar.gz /usr/local/tomcat
# 暴露容器运行时的 8080 监听端口给外部
EXPOSE 8080
# 设置容器内 JAVA_HOME 环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_111
ENV PATH $PATH:$JAVA_HOME/bin
# 启动容器时启动 tomcat
CMD ["/usr/local/tomcat/apache-tomcat-8.5.27/bin/catalina.sh", "run"]
(2)构建镜像
docker build -f /home/ruoyi/docker/Dockerfile -t mycentos:test .
(3)启动镜像
docker run -di --name mycentos -p 8080:8080 mycentos:test
(4)进入容器
docker exec -it mycentos7 /bin/bash

五、定义运行多容器(Docker Compose)

我们可以通过Dockerfile文件让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,或者开发一个Web应用,除了Web服务容器本身,还需要数据库服务容器、缓存容器,甚至还包括负载均衡容器等等。

Docker Compose恰好满足了这样的需求,它是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序所需要的服务。然后使用一个命令,就可以通过YAML配置文件创建并启动所有服务。

Docker Compose项目是Docker官方的开源项目,来源于之前的Fig项目,使用Python语言编写。负责实现对Docker容器集群的快速编排。

项目地址为:https://github.com/docker/compose/releases

Docker Compose使用的三个步骤为:

  • 使用Dockerfile文件定义应用程序的环境;
  • 使用docker-compose.yml文件定义构成应用程序的服务,这样它们可以在隔离环境中一起运行;
  • 执行docker-compose up命令来创建并启动所有服务。

(一)Compose 安装

官方文档:https://docs.docker.com/compose/install/

可以在macOS,Windows和Linux上运行Compose。本文演示基于Linux环境的安装。我们可以使用curl命令从Github下载它的二进制文件来使用,运行以下命令下载Docker Compose的当前稳定版本。

或者从网页下载后上传至服务器指定目录/usr/local/bin也行。

1.下载

# 从github下载
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 因为Docker Compose存放在GitHub,可能不太稳定。可以通过DaoCloud加速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

可以通过修改 URL 中的版本,自定义您所需要的版本文件。

安装完成以后,查看指定目录,发现该文件没有可执行权限,进行授权操作。

2.授权

# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose

3.测试

docker-compose --version

4.删除

rm /usr/local/bin/docker-compose

(二)docker-compose.yml 文件详解

官方文档:https://docs.docker.com/compose/compose-file/

Docker Compose允许用户通过docker-compose.yml文件(YAML 格式)来定义一组相关联的容器为一个工程(project)。一个工程包含多个服务(service),每个服务中定义了创建容器时所需的镜像、参数、依赖等。

Docker Compose模板文件我们需要关注的顶级配置有version、services、networks、volumes几个部分,除version外,其他几个顶级配置下还有很多下级配置,后面也会详细给大家介绍,先来看看这几个顶级配置都什么意思:

  • version:描述Compose文件的版本信息,当前最新版本为3.8,对应的Docker版本为19.03.0+
  • services:定义服务,可以多个,每个服务中定义了创建容器时所需的镜像、参数、依赖等
  • networkds:定义网络,可以多个,根据DNS server让相同网络中的容器可以直接通过容器名称进行通信
  • volumes:数据卷,用于实现目录挂载

1.使用示例

# 描述 Compose 文件的版本信息
version: "3.8"

# 定义服务,可以多个
services:
  nginx: # 服务名称
    image: nginx # 创建容器时所需的镜像
    container_name: mynginx # 容器名称,默认为"工程名称_服务条目名称_序号"
    ports: # 宿主机与容器的端口映射关系
      - "80:80" # 左边宿主机端口:右边容器端口
    networks: # 配置容器连接的网络,引用顶级 networks 下的条目
      - nginx-net

# 定义网络,可以多个。如果不声明,默认会创建一个网络名称为"工程名称_default"的 bridge 网络
networks:
  nginx-net: # 一个具体网络的条目名称
    name: nginx-net # 网络名称,默认为"工程名称_网络条目名称"
    driver: bridge # 网络模式,默认为 bridge

使用docker-compose up创建并启动所有服务。

# 前台启动
docker-compose up

# 后台启动
docker-compose up -d

使用docker-compose down可以停止并删除容器、网络。

2.version 版本信息

描述Compose文件的版本信息,当前最新版本为3.8,对应的Docker版本为19.03.0+。

关于每个版本的详细信息请参考:https://docs.docker.com/compose/compose-file/compose-versioning/

以下为Compose文件的版本信息所对应的Docker版本。

Compose file formatDocker Engine release
3.819.03.0+
3.718.06.0+
3.618.02.0+
3.517.12.0+
3.417.09.0+
3.317.06.0+
3.217.04.0+
3.11.13.1+
3.01.13.0+
1.xx

2.services 定义服务

services用来定义服务,可以多个,每个服务中定义了创建容器时所需的镜像、参数、依赖等,就像将命令行参数传递给docker run一样。同样,网络和数据卷的定义也是一样的。

比如,通过docker run命令构建一个MySQL应用容器的命令如下:

docker run -di --name mysql8 -p 3306:3306 -v /mydata/docker_mysql/conf:/etc/mysql/conf.d -v /mydata/docker_mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:8

使用docker-compose.yml以后则可以这样定义:

version: "3.8"
# 定义服务,可以多个
services:
  mysql: # 服务名称
    image: mysql:8 # 创建容器时所需的镜像
    container_name: mysql8 # 容器名称,默认为"工程名称_服务条目名称_序号"
    ports: # 宿主机与容器的端口映射关系
      - "3306:3306" # 左边宿主机端口:右边容器端口
    environment: # 创建容器时所需的环境变量
      MYSQL_ROOT_PASSWORD: 1234
    volumes:
      - "/mydata/docker_mysql/conf:/etc/mysql/conf.d"
      - "/mydata/docker_mysql/data:/var/lib/mysql"

3.image 镜像名称标签

指定创建容器时所需的镜像名称标签或者镜像ID。如果镜像在本地不存在,会去远程拉取。

services:
  web:
    image: hello-world

4.build 构建容器和context 文件路径

除了可以基于指定的镜像构建容器,还可以基于Dockerfile文件构建,在使用up命令时会执行构建任务。

该选项可以是Dockerfile文件的绝对/相对路径,也可以是远程Git仓库的URL,当提供的值是相对路径时,相对当前docker-compose.yml文件所在目录。

build:
  context: . # 相对当前 docker-compose.yml 文件所在目录,基于名称为 Dockerfile 的文件构建镜像

5.dockerfile 构建镜像

一般情况下,默认都基于文件名叫Dockerfile的文件构建镜像,当然也可以是自定义的文件名,使用dockerfile声明,不过这个选项只能声明文件名,文件所在路径还是要通过centext来声明。

build:
  context: . # 相对当前 docker-compose.yml 文件所在目录
  dockerfile: Dockerfile-alternate # 基于名称为 Dockerfile-alternate 的文件构建镜像

6.container_name 容器名称

Compose创建的容器默认生成的名称格式为:工程名称_服务条目名称_序号。如果要使用自定义名称,使用container_name声明。

services:
  mycentos:
    build: .
    container_name: mycentos7 # 容器名称,默认为"工程名称_服务条目名称_序号"

因为Docker容器名称必须是唯一的,所以如果指定了自定义名称,就不能将服务扩展至多个容器。这样做可能会导致错误。

7.depends_on 容器依赖

使用Compose最大的好处就是敲最少的命令做更多的事情,但一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,必然会因为容器依赖问题而启动失败。

例如在没有启动数据库容器的情况下启动了Web应用容器,应用容器会因为找不到数据库而退出。depends_on就是用来解决容器依赖、启动先后问题的配置项。

version: "3.8"

services:
  web:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: mysql

上述YAML文件定义的容器会先启动db和redis两个服务,最后才启动web服务。

8.ports 暴露端口

容器对外暴露的端口,格式:左边宿主机端口:右边容器端口。

ports:
  - "80:80"
  - "8080:8080"

9.expose 接受端口范围

容器暴露的端口不映射到宿主机,只允许能被连接的服务访问。

expose:
  - "80"
  - "8080"

10.restart 重启策略

容器重启策略,简单的理解就是Docker重启以后容器要不要一起启动

  • no:默认的重启策略,在任何情况下都不会重启容器;
  • on-failure:容器非正常退出时,比如退出状态为非0(异常退出),才会重启容器;
  • always:容器总是重新启动,即使容器被手动停止了,当Docker重启时容器也还是会一起启动;
  • unless-stopped:容器总是重新启动,除非容器被停止(手动或其他方式),那么Docker重启时容器则不会启动。
services:
  nginx:
    image: nginx
    container_name: mynginx
    ports:
      - "80:80"
    restart: always

11.environment 环境变量

添加环境变量。可以使用数组也可以使用字典。布尔相关的值(true、false、yes、no)都需要用引号括起来,以确保 YML 解析器不会将它们转换为真或假。

environment:
  RUOYI_ENV: development
  SHOW: 'true'
  SESSION_SECRET:

或者以下格式:

environment:
  - RUOYI_ENV=development
  - SHOW=true
  - SESSION_SECRET

env_file 文件获取环境变量
从文件中获取环境变量,可以指定一个或多个文件,其优先级低于environment指定的环境变量。

env_file:
  - /opt/runtime_opts.env # 绝对路径
  - ./common.env # 相对路径,相对当前 docker-compose.yml 文件所在目录
  - ./apps/web.env # 相对路径,相对当前 docker-compose.yml 文件所在目录

注意:env 文件中的每一行需采用键=值格式。以#开头的行会被视为注释并被忽略。空行也会被忽略。

12.command 执行命令

覆盖容器启动后默认执行的命令。

command: echo "helloworld"

该命令也可以是一个列表。

command: ["echo", "helloworld"]

13.volumes 目录挂载

数据卷,用于实现目录挂载,支持指定目录挂载、匿名挂载、具名挂载。

  • 指定目录挂载的格式为:左边宿主机目录:右边容器目录,或者左边宿主机目录:右边容器目录:读写权限;
  • 匿名挂载格式为:容器目录即可,或者容器目录即可:读写权限;
  • 具名挂载格式为:数据卷条目名称:容器目录,或者数据卷条目名称:容器目录:读写权限。
# 描述 Compose 文件的版本信息
version: "3.8"

# 定义服务,可以多个
services:
  mysql: # 服务名称
    image: mysql:8 # 创建容器时所需的镜像
    container_name: mysql8 # 容器名称,默认为"工程名称_服务条目名称_序号"
    ports: # 宿主机与容器的端口映射关系
      - "3306:3306" # 左边宿主机端口:右边容器端口
    environment: # 创建容器时所需的环境变量
      MYSQL_ROOT_PASSWORD: 1234
    volumes:
      # 绝对路径
      - "/mydata/docker_mysql/data:/var/lib/mysql"
      # 相对路径,相对当前 docker-compose.yml 文件所在目录
      - “./conf:/etc/mysql/conf.d“
      # 匿名挂载,匿名挂载只需要写容器目录即可,容器外对应的目录会在 /var/lib/docker/volume 中生成
      - "/var/lib/mysql"
      # 具名挂载,就是给数据卷起了个名字,容器外对应的目录会在 /var/lib/docker/volume 中生成
      - "mysql-data-volume:/var/lib/mysql"

# 定义数据卷,可以多个
volumes:
  mysql-data-volume: # 一个具体数据卷的条目名称
    name: mysql-data-volume # 数据卷名称,默认为"工程名称_数据卷条目名称"

14.network_mode 网络模式

设置网络模式,类似 docker run 时添加的参数 --net host 或者 --network host 的用法

network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

15.networks

配置容器连接的网络,引用顶级 networks 下的条目。

# 定义服务,可以多个
services:
  nginx: # 服务名称
    networks: # 配置容器连接的网络,引用顶级 networks 下的条目
      - nginx-net # 一个具体网络的条目名称

# 定义网络,可以多个。如果不声明,默认会创建一个网络名称为"工程名称_default"的 bridge 网络
networks:
  nginx-net: # 一个具体网络的条目名称
    name: nginx-net # 网络名称,默认为"工程名称_网络条目名称"
    driver: bridge # 网络模式,默认为 bridge

16.aliases

网络上此服务的别名。同一网络上的其他容器可以使用服务名或此别名连接到服务容器。同一服务在不同的网络上可以具有不同的别名。

# 定义服务,可以多个
services:
  nginx: # 服务名称
    networks: # 配置容器连接的网络,引用顶级 networks 下的条目
      nginx-net: # 一个具体网络的条目名称
        aliases: # 服务别名,可以多个
          - nginx1 # 同一网络上的其他容器可以使用服务名或此别名连接到服务容器

# 定义网络,可以多个。如果不声明,默认会创建一个网络名称为"工程名称_default"的 bridge 网络
networks:
  nginx-net: # 一个具体网络的条目名称
    name: nginx-net # 网络名称,默认为"工程名称_网络条目名称"
    driver: bridge # 网络模式,默认为 bridge

(三)项目部署示例

以ruoyi-cloud项目为例,该项目提供了docker部署,只需要复制jar文件到对应的/docker/ruoyi目录下。

docker
├── mysql            // 数据库
│       └── db                            // 数据库脚本
│       └── dockerfile                    // mysql dockerfile
├── nacos            // 注册中心/配置中心
│       └── conf                          // nacos 配置文件
│       └── dockerfile                    // nacos dockerfile
├── nginx            // web服务器
│       └── conf                          // nginx 配置文件
│       └── html                          // 打包后的前端ui
│       └── dockerfile                    // nginx dockerfile
├── redis            // 缓存服务
│       └── conf                          // redis 配置文件
│       └── dockerfile                    // redis dockerfile
├── ruoyi            // 业务模块
│       └── auth                          // 认证中心 dockerfile jar
│       └── gateway                       // 网关模块 dockerfile jar
│       └── modules                       // 业务模块 dockerfile jar
│       └── visual                        // 图形化管理模块 dockerfile jar
├── deploy.sh               // 部署脚本
├── docker-compose.yml      // docker-compose

上传文件到自己的服务器,通过deploy.sh执行命令控制。

# 开启所需端口
./deploy.sh port

# 启动基础环境(必须)
./deploy.sh base

# 启动程序模块(必须)
./deploy.sh modules

# 关闭所有环境/模块
./deploy.sh stop

# 删除所有环境/模块
./deploy.sh rm

deploy.sh文件内容如下:

#!/bin/sh

# 使用说明,用来提示输入参数
usage() {
	echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm]"
	exit 1
}

# 开启所需端口
port(){
	firewall-cmd --add-port=80/tcp --permanent
	firewall-cmd --add-port=8080/tcp --permanent
	firewall-cmd --add-port=8848/tcp --permanent
	firewall-cmd --add-port=9848/tcp --permanent
	firewall-cmd --add-port=9849/tcp --permanent
	firewall-cmd --add-port=6379/tcp --permanent
	firewall-cmd --add-port=3306/tcp --permanent
	firewall-cmd --add-port=9100/tcp --permanent
	firewall-cmd --add-port=9200/tcp --permanent
	firewall-cmd --add-port=9201/tcp --permanent
	firewall-cmd --add-port=9202/tcp --permanent
	firewall-cmd --add-port=9203/tcp --permanent
	firewall-cmd --add-port=9300/tcp --permanent
	service firewalld restart
}

# 启动基础环境(必须)
base(){
	docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos
}

# 启动程序模块(必须)
modules(){
	docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system
}

# 关闭所有环境/模块
stop(){
	docker-compose stop
}

# 删除所有环境/模块
rm(){
	docker-compose rm
}

# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"port")
	port
;;
"base")
	base
;;
"modules")
	modules
;;
"stop")
	stop
;;
"rm")
	rm
;;
*)
	usage
;;
esac

本文地址:https://www.vps345.com/4091.html

搜索文章

Tags

docker 容器 运维 java-rabbitmq java PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP CC攻击 攻击怎么办 服务器 网络 远程连接 vscode 安全 AI Dify 大模型应用 linux 嵌入式硬件 ubuntu 无人机 机器人 macos ide python c++ php ai nlp wireshark 部署 边缘计算 开源 自动化 n8n dity make Linux 维护模式 ubuntu24.04 todesk 人工智能 LLM 大模型面经 大模型 职场和发展 Deepseek 大模型学习 pytorch tensorflow 语言模型 AI大模型 DeepSeek agi qt linuxdeployqt 打包部署程序 appimagetool 搜索引擎 程序员 prompt linux环境变量 智能驾驶 BEVFusion Ubuntu flutter Google pay Apple pay rag ragflow ollama 大模型部署 windows conda 硬件工程 单片机 物联网 机器学习 chatgpt gpu算力 数据库 postgresql pgpool 游戏引擎 学习 IPMI appium 软件测试 自动化测试 功能测试 程序人生 具身智能 强化学习 虚拟机 springsecurity6 oauth2 授权服务器 前后端分离 Qwen3 qwen3 32b vllm 本地部署 github uniapp vue Agent llama CrewAI ROS 自动驾驶 经验分享 debian wps 安卓 中间件 网络安全 web安全 可信计算技术 安全架构 网络攻击模型 android studio 交互 后端 websocket android 远程工作 centos 深度学习 c# 开发语言 网络协议 MacMini Mac 迷你主机 mini Apple intellij-idea r语言 数据挖掘 数据可视化 数据分析 vite Svelte 计算机视觉 阿里云 云计算 spring boot spring zabbix ESXi MCP harmonyos 华为 华为云 华为od 相机 技能大赛 django tcp/ip c语言 onlyoffice 在线office Linux AIGC comfyui comfyui教程 云原生 iventoy VmWare OpenEuler web3 区块链 区块链项目 oracle 关系型 分布式 1024程序员节 蓝桥杯 milvus fiddler 爬虫 http 智能路由器 nginx 网络工程师 华为认证 HTTP 服务器控制 ESP32 DeepSeek 微信开放平台 flask 微信公众平台 微信公众号配置 mysql adb gpt transformer 自然语言处理 Java进程管理 DevOps自动化 脚本执行 跨平台开发 远程运维 Apache Exec JSch WSL2 上安装 Ubuntu vmware 大数据 政务 分布式系统 监控运维 Prometheus Grafana 网页服务器 web服务器 Nginx YOLO yolov5 环境迁移 vmamba mac 截图 录屏 gif 工具 kubernetes ShapeFile GeoJSON Python pip Kali 渗透 Apache Flume 数据采集 安装部署 配置优化 高级功能 大数据工具集成 FTP服务器 ssh mcu MQTT mosquitto 消息队列 服务器扩容没有扩容成功 opencv webpack 流程图 mermaid 远程 命令 执行 sshpass 操作 Claude Desktop Claude MCP Windows Cli MCP Docker Docker Compose Kubernetes 算法 神经网络 H3C pycharm hadoop big data 编辑器 rtsp h.265 kvm qemu libvirt 动态库 GCC编译器 -fPIC -shared ffmpeg 音视频 视频编解码 DNS 知识图谱 大模型教程 GIS 遥感 WebGIS Dell HPE 联想 浪潮 tidb GLIBC 分布式账本 智能合约 信任链 共识算法 fpga开发 CosyVoice nac 802.1 portal prometheus grafana 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 卷积神经网络 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 oceanbase 传统数据库升级 银行 集成学习 集成测试 remote-ssh 存储维护 NetApp存储 EMC存储 deepseek 科技 p2p servlet mcp mcp协议 go-zero mcp服务器 鸿蒙 鸿蒙系统 前端 前端框架 重启 排查 系统重启 日志 原因 rocketmq 程序 编程 内存 性能分析 主从复制 SSE Cline rc.local 开机自启 systemd 麒麟 Windows ai工具 飞腾处理器 硬件架构 国产化 chrome chrome devtools selenium chromedriver 笔记 企业微信 快捷键 旋转屏幕 自动操作 ssh漏洞 ssh9.9p2 CVE-2025-23419 架构 游戏 交换机 硬件 设备 GPU PCI-Express ansible playbook 自动化运维 arm开发 嵌入式 linux驱动开发 hdc 鸿蒙NEXT 车载系统 ragflow 源码启动 金融 javascript react.js 前端面试题 node.js 持续部署 cron crontab日志 毕设 王者荣耀 FTP 服务器 typescript tomcat AI-native elasticsearch 7-zip ipython CH340 串口驱动 CH341 uart 485 GCC crosstool-ng virtualenv arm 操作系统 cursor redis 线程 多线程 eclipse flash-attention 报错 vue3 卸载 软件 列表 nohup 异步执行 负载均衡 压力测试 大模型压力测试 EvalScope devops LSTM 工作流自动化工具 bushujiaocheng 部署教程 算家云 AI算力 租算力 到算家云 AI编程 目标检测 open webui fastapi golang 驱动开发 嵌入式实习 mamba gitee gitee go visual studio code notepad 隐藏文件 openssl 智能手机 计算机网络 Ollama 网络结构图 yaml Ultralytics 可视化 Vmamba pygame k8s docker desktop 镜像 AI提示词优化 嵌入式Linux IPC 考研 学习方法 ruoyi mcp-proxy mcp-inspector fastapi-mcp agent sse MCP server C/S gitlab vue.js NAS Termux Samba 多线程服务器 TCP服务器 qt项目 qt项目实战 qt教程 PyQt PySide6 matlab 电脑 NVML nvidia-smi chatbox muduo 网络库 HTTP状态码 客户端错误 服务器端错误 API设计 harmonyOS面试题 数据结构 cocoapods xcode ddos UEFI Legacy MBR GPT U盘安装操作系统 vim GPU训练 wsl RockyLinux YOLOv12 DevOps 软件交付 数据驱动 应用场景 数据安全 go 计算机学习路线 编程语言选择 进程间通信 信息与通信 Trae IDE AI 原生集成开发环境 Trae AI Linux网络编程 jenkins maven svn Kylin-Server 国产操作系统 服务器安装 udp Deepseek-R1 私有化部署 推理模型 CUDA PyTorch aarch64 编译安装 HPC IM即时通讯 QQ 微信 剪切板对通 HTML FORMAT https maxkb ARG gcc g++ g++13 python3.11 ros 树莓派项目 react native 群晖 低代码 计算生物学 生物信息学 生物信息 基因组 Apache Beam 批流统一 性能优化 案例展示 数据分区 容错机制 EVE-NG 超级终端 多任务操作 提高工作效率 系统安全 stm32 visualstudio git 卡死 程序员创富 桌面环境 终端工具 远程工具 系统架构 图像处理 SecureCRT nvm cuda Python教程 pycharm安装 策略模式 mac安装软件 mac卸载软件 mac book json rpc 实时音视频 实时互动 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 缓存 eureka spring cloud 框架搭建 单例模式 opengl top Linux top top命令详解 top命令重点 top常用参数 图形化界面 智能体开发 llm 远程过程调用 Windows环境 dash 正则表达式 bug 运维开发 SSH Xterminal armbian u-boot LLM Web APP Streamlit 我的世界 我的世界联机 数码 llama3 Chatglm 开源大模型 BMC 带外管理 CDN jar Chatbox jupyter 安全漏洞 信息安全 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 ip 微服务 源码 毕业设计 课程设计 fstab jvm 安卓模拟器 python2 实时内核 打不开xxx软件 无法检查其是否包含恶意软件 ollama api ollama外网访问 arkUI arkTs csrf 面试 css css3 js 5G 3GPP 卫星通信 rnn 网络爬虫 cudnn nvidia RTSP xop RTP RTSPServer 推流 视频 SRS 流媒体 直播 sql bash unix 自定义客户端 SAS 大模型推理 RAID RAID技术 磁盘 存储 音乐服务器 Navidrome 音流 网工 iot FunASR ASR 信号处理 tcpdump es6 qt6.3 g726 localhost rsync openEuler sdkman 混合开发 环境安装 JDK 计算机外设 虚拟显示器 远程控制 iNode Macos gnu iTerm2 测试工具 node 创业创新 Kali Linux rpa 抓包工具 k8s部署 MySQL8.0 高可用集群(1主2从) 显卡驱动持久化 GPU持久化 gru 京东云 RagFlow RAG 物联网开发 RustDesk自建服务器 rustdesk服务器 docker rustdesk grub 版本升级 扩容 webrtc 语音识别 虚拟化 哈希算法 element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 微信小程序 notepad++ 云计算面试题 sqlite Mac内存不够用怎么办 ubuntu20.04 开机黑屏 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 sqlserver WSL resolv.conf 数据集 知识库 RAGFlow 本地知识库部署 DeepSeek R1 模型 Claude Python基础 Python技巧 拓扑图 docker-compose centos 7 7z kali 共享文件夹 edge tar openjdk powerpoint 软考设计师 中级设计师 SQL 软件设计师 UOS 开机自启动 桌面快捷方式 升级 CVE-2024-7347 漏洞 xrdp 远程桌面 服务器配置 大大通 第三代半导体 碳化硅 ssl midjourney AI写作 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 视频平台 录像 视频转发 性能测试 视频流 NFC 近场通讯 智能门锁 虚幻 ftp服务 文件上传 密码学 商用密码产品体系 昇腾 华为昇腾910b3 概率论 jmeter 串口服务器 万物互联 工业自动化 工厂改造 Cursor nohup后台启动 chromium dpi Ubuntu20.04 2.35 mac设置host 火绒安全 mybase 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 鸿蒙面试 面试题 openwrt USB网络共享 ros2 moveit 机器人运动 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer ip协议 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 jdk 镜像源 NVIDIA dns是什么 如何设置电脑dns dns应该如何设置 rdp 实验 kylin 华为机试 C++ Java AD域 云电竞 云电脑 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 rsyslog kind string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap opensearch helm gaussdb 弹性计算 云服务器 裸金属服务器 弹性裸金属服务器 llama.cpp finebi 3d bigdata 生信 智慧农业 开源鸿蒙 团队开发 mysql安装报错 windows拒绝安装 其他 软件需求 grep 进程信号 swift stable diffusion IP地址 IPv4 IPv6 端口号 计算机基础 nacos arcgis 人工智能生成内容 ubuntu安装 linux入门小白 Linux Vim MLLMs VLM gpt-4v lvs Autoware 辅助驾驶 langchain 代理模式 oneapi AutoDL web3.py 数据库系统 KVM 计算虚拟化 弹性裸金属 模拟退火算法 YOLOv8 NPU Atlas800 A300I pro 状态管理的 UDP 服务器 Arduino RTOS 代码调试 ipdb 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors uni-app 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 lighttpd安装 Ubuntu配置 Windows安装 服务器优化 Pyppeteer Playwright gunicorn 树莓派 程序化交易 量化交易 高频交易 mariadb apache Python 视频爬取教程 Python 视频爬取 Python 视频教程 RK3568 OpenGL 图形渲染 socket 5090 显卡 AI性能 ftp sequoiaDB 邮件APP 免费软件 SenseVoice 我的世界服务器搭建 minecraft openvpn server openvpn配置教程 centos安装openvpn VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 ArkUI ArkTS 移动端开发 Linux find grep MobaXterm 文件传输 Bug解决 Qt platform OpenCV 向量数据库 milvus安装 WSL2 IP 地址 进程等待 内存泄漏 rk3588 npu rknn-toolkit2 pdf 办公自动化 自动化生成 pdf教程 seleium 网络药理学 gromacs 分子动力学模拟 MD 动力学模拟 换源 国内源 Debian 安装MySQL docker compose 物理地址 页表 虚拟地址 小智 宝塔面板 easyTier 内网穿透 组网 excel 欧拉系统 BCLinux 切换root C语言 命名管道 客户端与服务端通信 spark HistoryServer Spark YARN jobhistory 大模型微调 大模型入门 模型联网 API CherryStudio 服务器繁忙 nuxt3 联想开天P90Z装win10 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 Anolis nginx安装 linux插件下载 kafka Web服务器 多线程下载工具 网络编程 PYTHON 规格说明书 设计规范 .netcore .net microsoft 小程序 计算机系统 进程 进程控制 yum apt make命令 makefile文件 中兴光猫 换光猫 网络桥接 自己换光猫 Ubuntu 22.04 MySql 算力租赁 安装教程 wsl2 vsxsrv OpenCore 权限 jdk11安装 jdk安装 openjdk11 openjdk11安装 产品经理 vnc docker run 数据卷挂载 环境变量 端口映射 交互模式 网络用户购物行为分析可视化平台 大数据毕业设计 设置代理 实用教程 kernel GeneCards OMIM TTD 网络管理 软考 2024 2024年上半年 下午真题 答案 分子对接 autodock mgltools PDB PubChem LVM 磁盘分区 lvresize 磁盘扩容 pvcreate unity 论文笔记 android-studio ACL 流量控制 基本ACL 规则配置 scrapy EasyConnect LDAP 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 gitea Headless Linux 文件分享 WebDAV Windsurf 镜像下载 freebsd 银河麒麟 锁屏不生效 aws pythonai PlaywrightMCP lua umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 性能监控 飞牛NAS 飞牛OS MacBook Pro NFS 向日葵 Qwen2.5-coder 离线部署 系统开发 binder framework 源码环境 MacOS 电子信息 通信工程 毕业 shell脚本免交互 expect linux免交互 termux 环境搭建 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia hive ranger MySQL8.0 统信UOS 渗透测试 tar.gz tar.xz linux压缩 libreoffice word转pdf 安装 mac cocoapods macos cocoapods elk Logstash 日志采集 OpenSSH yolov8 ui 软链接 硬链接 虚拟局域网 searxng etcd RBAC 安全威胁分析 文心一言 dify 本地化部署 centos-root /dev/mapper yum clean all df -h / du -sh deepseek-v3 ktransformers Reactor Reactor反应堆 文件共享 健康医疗 网卡的名称修改 eth0 ens33 腾讯云 v10 雨云 NPS rustdesk 孤岛惊魂4 反向代理 监控 PVE rust腐蚀 黑客 信息收集 X11 Xming 测试用例 zookeeper db 媒体 Jellyfin nas 迅雷 飞牛 机柜 1U 2U 浪潮信息 AI服务器 postman deepseek-r1 大模型本地部署 html5 ios AI员工 shell ecmascript gitlab服务器 GPU状态 Cache Aside Read/Write Write Behind 深度优先 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Redis Desktop 软件工程 稳定性 看门狗 设计模式 protobuf 序列化和反序列化 list jellyfin kotlin iphone export env 变量 gpt-3 VMware 大版本升 升级Ubuntu系统 pthread 系统 brew 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 磁盘挂载 新盘添加 partedUtil RAGflow 环境部署 开发环境 VSCode 开发工具 微软 openssh NVIDIA显卡安装 Ubuntu开机黑屏 RTX5090 torch2.7.0 腾讯云大模型知识引擎 eNSP 企业网络规划 华为eNSP 网络规划 热榜 ShenTong deep learning PPI String Cytoscape CytoHubba 自动化任务管理 ip命令 新增网卡 新增IP 启动网卡 perl yum换源 iftop 网络流量监控 c/c++ 串口 版本 nftables 防火墙 私有化 qt5 客户端开发 Mermaid 可视化图表 ros1 Noetic 20.04 apt 安装 xml autoware 三维重建 仙盟大衍灵机 东方仙盟 仙盟创梦IDE pppoe radius rust EMQX 通信协议 pillow 常用命令 文本命令 目录命令 dell服务器 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 react next.js 部署next.js cpu 实时 使用 IMM 豆瓣 追剧助手 adobe frp 内网服务器 内网代理 内网通信 外网访问 iis express AI作画 asp.net大文件上传 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 毕昇JDK 鲲鹏 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 Qualcomm WoS QNN AppBuilder word 框架 建站 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 vmware tools linq 客户端-服务器架构 点对点网络 服务协议 网络虚拟化 网络安全防御 linux cpu负载异常 raid 智能硬件 SFTP SFTP服务端 Ubuntu Server Ubuntu 22.04.5 DevEco Studio HarmonyOS OpenHarmony 真机调试 bcompare Beyond Compare VMware安装mocOS macOS系统安装 匿名管道 软件构建 英语 进程优先级 调度队列 进程切换 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 IP配置 netplan 虚拟现实 MAC devmem 工作流 workflow DBeaver 数据仓库 kerberos pyautogui minicom 串口调试工具 QT 5.12.12 QT开发环境 Ubuntu18.04 cnn DenseNet okhttp 增强现实 沉浸式体验 技术实现 案例分析 AR 流水线 脚本式流水线 ai小智 语音助手 ai小智配网 ai小智教程 esp32语音助手 diy语音助手 MVS 海康威视相机 宝塔 minio miniapp 调试 debug 断点 网络API请求调试方法 云原生开发 接口优化 k8s二次开发 国产数据库 瀚高数据库 数据迁移 下载安装 axure 富文本编辑器 Helm k8s集群 ROS2 开放端口 访问列表 Crawlee PX4 MAVROS 四旋翼无人机 轮播图 GPUGEEK 企业风控系统 互联网反欺诈 DDoS攻击 SQL注入攻击 恶意软件和病毒攻击 模拟器 pnet 百度 pnetlab 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 统信 虚拟机安装 nextjs reactjs HCIE 数通 游戏程序 项目部署到linux服务器 项目部署过程 银河麒麟高级服务器 外接硬盘 Kylin 大数据平台 计算机 云服务 firefox SWAT 配置文件 服务管理 网络共享 剧本 网站搭建 serv00 博客 UOS1070e Qwen2.5-VL samba web fpga 零日漏洞 CVE mysql离线安装 ubuntu22.04 mysql8.0 ArcTS 登录 ArcUI GridItem Hive环境搭建 hive3环境 Hive远程模式 prometheus数据采集 prometheus数据模型 prometheus特点 Ubuntu共享文件夹 共享目录 Linux共享文件夹 本地部署AI大模型 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 pyicu initramfs Linux内核 Grub 推荐算法 rime 材料工程 Obsidian Dataview 代码 对比 meld DiffMerge firewall powerbi SPI C 系统内核 Linux版本 latex HarmonyOS Next FS 文件系统 mount bootfs rootfs linux目录 ufw 二级页表 SSH 服务 SSH Server OpenSSH Server Open WebUI perf openstack Xen Hyper-V 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 大语言模型 单元测试 Docker Hub docker pull daemon.json 网络建设与运维 网络搭建 神州数码 神州数码云平台 云平台 性能调优 安全代理 监控k8s 监控kubernetes DeepSeek r1 读写锁 cfssl 工具分享 大屏端 WireGuard 异地组网 postgres Docker Desktop Dify重启后重新初始化 rtc Alist rclone 挂载 网盘 dns 搜狗输入法 中文输入法 Playwright MCP DeepSeek-R1 API接口 技术 dubbo odoo 服务器动作 Server action ssrf 失效的访问控制 单一职责原则 CORS 跨域 live555 源码剖析 rtsp实现步骤 流媒体开发 无桌面 命令行 直播推流 ldap 致远OA OA服务器 服务器磁盘扩容 micropython esp32 mqtt asm W5500 OLED u8g2 ABAP KylinV10 麒麟操作系统 Vmware 客户端 java-ee C# MQTTS 双向认证 emqx AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 less 硅基流动 ChatBox 联机 僵尸毁灭工程 游戏联机 开服 笔灵AI AI工具 numpy IIS 跨域请求 华为OD 华为OD机试真题 可以组成网络的服务器 免费 pyside6 界面 Putty 花生壳 ECS服务器 实时传输 矩阵乘法 3D深度学习 edge浏览器 embedding 灵办AI AList webdav fnOS 个人开发 用户缓冲区 ArkTs linux内核 GPU环境配置 Ubuntu22 Anaconda安装 burp suite 抓包 设备树 photoshop 线程同步 线程互斥 条件变量 vm harmonyosnext function address 函数 地址 内核 paddle 管道 pipe函数 管道的大小 匿名管道的四种情况 文档 lvgl8.3 lvgl9.2 lvgl lvgl安装 TRAE 深度求索 私域 实习 AI代码编辑器 ssh远程登录 DocFlow yum源切换 更换国内yum源 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 springboot Xinference easyui docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 Alexnet compose qps 高并发 宝塔面板无法访问 冯诺依曼体系 进程地址空间 写时拷贝 Linux的进程调度队列 活动队列 Apache OpenNLP 句子检测 分词 词性标注 核心指代解析 stm32项目 Kylin OS .net core Hosting Bundle .NET Framework vs2022 做raid 装系统 pyqt 游戏服务器 TrinityCore 魔兽世界 ESP32 ukui 麒麟kylinos openeuler Netty 即时通信 NIO java-rocketmq bonding 链路聚合 思科模拟器 思科 Cisco vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 信创 信创终端 中科方德 云桌面 AD域控 证书服务器 CNNs 图像分类 HP Anyware outlook 错误代码2603 无网络连接 2603 大模型训练/推理 推理问题 mindie log4j java-zookeeper 科勘海洋 数据采集浮标 浮标数据采集模块 proto actor actor model Actor 模型 Featurize Mobilenet 分割 教程 deepseek r1 RAGFLOW 检索增强生成 文档解析 大模型垂直应用 anaconda can 线程池 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 rabbitmq ruby CPU 使用率 系统监控工具 linux 命令 星河版 mybatis orbslam2 苹果电脑装windows系统 mac安装windows系统 mac装双系统 macbook安装win10双 mac安装win10双系统 苹果电脑上安装双系统 mac air安装win 信息可视化 direct12 Mac部署 Ollama模型 Openwebui 配置教程 AI模型 uni-app x vr 北亚数据恢复 数据恢复 服务器数据恢复 数据库数据恢复 oracle数据恢复 GoogLeNet VLAN 企业网络 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 SSH 密钥生成 SSH 公钥 私钥 生成 Linux24.04 deepin firewalld docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos ue5 监控k8s集群 集群内prometheus mq intellij idea Typore 电视剧收视率分析与可视化平台 database mongodb html LInux VGG网络 卷积层 池化层 ci/cd 远程服务 IO client-go Masshunter 质谱采集分析软件 使用教程 科研软件 DrissionPage 进程池实现 可用性测试 开发 飞书 双系统 多系统 Typescript 弹性 回显服务器 UDP的API使用 个人博客 UDP autodl audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn 僵尸世界大战 游戏服务器搭建 glibc 银河麒麟桌面操作系统 open Euler dde 磁盘监控 mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 Dell R750XS 崖山数据库 YashanDB nfs 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 网络穿透 netty 存储数据恢复 半虚拟化 硬件虚拟化 Hypervisor OD机试真题 服务器能耗统计 AD 域管理 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 服务器管理 配置教程 网站管理 MQTT协议 消息服务器 React Next.js 开源框架 windows 服务器安装 asp.net大文件上传下载 EtherCAT转Modbus EtherCAT转485网关 ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口网关 ECT转Modbus串口服务器 c/s logstash vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 源代码管理 CPU架构 服务器cpu OSB Oracle中间件 SOA 麒麟OS DICOM TCP 多进程 TCP回显服务器 neo4j 数据库开发 VMware安装Ubuntu Ubuntu安装k8s matplotlib Linux PID 键盘 沙盒 华为证书 HarmonyOS认证 华为证书考试 csrutil mac恢复模式进入方法 SIP 恢复模式 Isaac Sim 虚拟仿真 diskgenius NVM Node Yarn PM2 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 Charles 动静态库 可执行程序 Maxkb RAG技术 本地知识库 JAVA Android ANDROID_HOME zshrc 基础指令 指令 charles chrome历史版本下载 chrominum下载 cuda驱动 代码复审 codereview code-review 环境配置 iperf3 带宽测试 P2P HDLC 自动化编程 x64 SIGSEGV xmm0 deekseek 输入系统 AzureDataStudio Zoertier 内网组网 su sudo sudo原理 su切换 考试 命令模式 linux子系统 忘记密码 dify部署 Jenkins流水线 声明式流水线 CAN 多总线 Quixel Fab Unity UE5 游戏商城 虚幻引擎 CKA 高考 省份 年份 分数线 数据 authorized_keys 密钥 c MS Materials mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 kylin v10 麒麟 v10 rtp SSL证书 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 同步 备份 统信操作系统 黑客技术 ISO镜像作为本地源 IIS服务器 IIS性能 日志监控 echarts C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 LORA NLP 音乐库 client close 显示器 massa sui aptos sei 文件存储服务器组件 cocos2d 3dcoat web开发 janus 证书 签名 站群服务器 LangGraph 模型上下文协议 MultiServerMCPC load_mcp_tools load_mcp_prompt 若依 内存不足 outofmemory Key exchange 主包过大 Lenovo System X GNOME 英语六级 小游戏 五子棋 trae 鸿蒙开发 移动开发 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 HiCar CarLife+ CarPlay QT RK3588 npm 网络文件系统 cmake Xshell zip unzip 免密 公钥 私钥 软件商店 livecd systemtools 互联网实用编程指南 dnf 编译 烧录 嵌入式实时数据库 linux/cmake tftp 药品管理 鸿蒙项目 空Ability示例项目 讲解 影刀 #影刀RPA# 产测工具框架 IMX6ULL 管理框架 ue4 着色器 显示过滤器 ICMP Wireshark安装 IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 VM虚拟机 visual studio d3d12 Multi-Agent LLaMA-Factory python高级编程 Ansible elk stack 服务注册与发现 安全性测试 SoC 原子操作 AXI lstm LSTM-SVM 时间序列预测 BMS 储能 dataworks maxcompute 去中心化 libtorch 驱动器映射 批量映射 win32wnet模块 网络驱动器映射工具 阻塞队列 生产者消费者模型 服务器崩坏原因 asi_bench LLMs windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 国标28181 视频监控 监控接入 语音广播 流程 SDP 聊天室 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 备选 网站 api 调用 示例 Minecraft tcp 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 zerotier 配置原理 yashandb 日志分析 系统取证 #STC8 #STM32 支持向量机 mvc anonymous gateway Arduino 电子信息工程 网络带宽 问题排查 分类 过期连接 客户端/服务器架构 分布式应用 三层架构 Web应用 跨平台兼容性 笔记本电脑 gemini gemini国内访问 gemini api gemini中转搭建 Cloudflare 宠物 免费学习 宠物领养 宠物平台 archlinux kde plasma beautifulsoup miniconda PostgreSQL15数据库 OS nano 泰山派 根文件系统 容器清理 大文件清理 空间清理 linux常用命令 leetcode HP打印机 sublime text IMX317 MIPI H265 VCU ubuntu24.04.1 AnythingLLM AnythingLLM安装 软负载 camera deployment daemonset statefulset cronjob image SystemV 计算机科学与技术 webview web环境 蜂窝网络 频率复用 射频单元 无线协议接口RAN 主同步信号PSS 百度云 openresty 转换 智能体 软路由 MinerU STP 生成树协议 PVST RSTP MSTP 防环路 网络基础 多媒体 BitTorrent 搜索 根目录 机器人操作系统 issue coze 调试方法 Valgrind 内存分析工具 sse_starlette Starlette Server-Sent Eve 服务器推送事件 lsof linux命令 file server http server web server kamailio sip VoIP thingsboard VNC 充电桩 欧标 OCPP iBMC UltraISO saltstack 智能电视 WebServer deepseak 豆包 KIMI 腾讯元宝 网络原理 qwen2vl pxe pyscenic 生信教程 LVS 全栈 CPU 网络IO 队列 数据库占用空间 MateBook teamspeak Spring AI 大模型应用开发 AI 应用商业化 材质 贴图 three.js jvm调优 LRU策略 内存增长 垃圾回收 USB转串口 xshell termius iterm2 数学建模 高级IO epoll Maven Echarts图表 折线图 柱状图 异步动态数据 可视化效果 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 CUPS 打印机 Qt5 STL 导航栏 wifi驱动 迁移 debezium 数据变更 模块测试 homebrew windows转mac ssh密匙 Mac配brew环境变量 electron ceph 运维监控 bot docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 redhat lb 协议 Ubuntu22.04 开发人员主页 隐藏目录 管理器 通配符 学习路线 目标跟踪 烟雾检测 yolo检测 消防检测 代理配置 企业级DevOps 深度强化学习 深度Q网络 Q_Learning 经验回收 生成对抗网络 聚类 电子器件 二极管 三极管 软件安装 unionFS OverlayFS OCI docker架构 写时复制 局域网 zotero 同步失败 Invalid Host allowedHosts vscode1.86 1.86版本 ssh远程连接 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 opcua opcda KEPServer安装 图论 并集查找 换根法 树上倍增 三级等保 服务器审计日志备份 远程看看 远程协助 swoole 繁忙 解决办法 替代网站 汇总推荐 AI推理 Carla oracle fusion oracle中间件 蓝桥杯C++组 券商 股票交易接口api 类型 特点 股票量化接口 股票API接口 PTrade QMT 量化股票 aac openvino 惠普服务器 惠普ML310e Gen8 惠普ML310e Gen8V2 http状态码 请求协议 机器人仿真 模拟仿真 DELL R730XD维修 全国服务器故障维修 视频服务器 相机标定 cn2 带宽 JavaWeb Echo 链表 微信分享 Image wxopensdk ArtTS Linux的权限 composer Metastore Catalog GRANT REVOKE clipboard 剪贴板 剪贴板增强 文件权限 Linux的进程控制 illustrator 机床 仿真 课件 教学 课程 gstreamer zephyr 编译器 MAC地址 MDK 嵌入式开发工具 烟花代码 烟花 元旦 GRUB引导 Linux技巧 飞牛nas fnos OpenVINO 推理应用 免费域名 域名解析 WebVM selete 大模型技术 本地部署大模型 scapy 全文检索 图搜索算法 llamafactory 微调 Qwen Linux系统编程 Linux权限 权限掩码 粘滞位 xfce 客户端和服务器端 Nginx报错413 Request Entity Too Large 的客户端请求体限制 思科实验 高级网络互联 ping++ VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 DeepSeek行业应用 Heroku 网站部署 ecm bpm 银河麒麟操作系统 WebRTC triton 模型分析 干货分享 黑客工具 密码爆破 ECT转Modbus协议 EtherCAT转485协议 ECT转Modbus网关 浏览器自动化 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 话题通信 服务通信 服务器部署 本地拉取打包 AimRT 事件驱动 量子计算 进程管理 struts 物联网嵌入式开发实训室 物联网实训室 嵌入式开发实训室 物联网应用技术专业实训室 AudioLM SQI iOS Server Trust Authentication Challenge 医疗APP开发 app开发 Linux的基础指令 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 lvm 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 CTE AGE 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 Python学习 Python编程 美食 jina 金仓数据库 2025 征文 数据库平替用金仓 TCP协议 bat telnet 远程登录 AI Agent 字节智能运维 自学笔记 小米 澎湃OS K8S k8s管理系统 需求分析 知行EDI 电子数据交换 知行之桥 EDI 容器化 Serverless 内存管理 Web3 Telegram isaacgym risc-v 本地环回 bind nacos容器环境变量 docker启动nacos参数 nacos镜像下载 电脑操作 回归 AOD-PONO-Net 图像去雾技术 muduo库 Makefile Make huggingface SSM 项目实战 页面放行 TraeAgent shell编程 mysql 8 mysql 8 忘记密码 MySQL pytorch3d 网页设计 WinRM TrustedHosts vSphere vCenter 软件定义数据中心 sddc EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 googlecloud 创意 社区 DOIT 四博智联 IPMITOOL 硬件管理 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 域名服务 DHCP 符号链接 配置 状态模式 小智AI服务端 xiaozhi TTS 阿里云ECS 主板 电源 网卡 服务器ssl异常解决 弹性服务器 软件开发 环境 非root vue在线预览excel和编辑 vue2打开解析xls电子表格 浏览器新开页签或弹框内加载预览 文件url地址或接口二进制文档 解决网页打不开白屏报错问题 asp.net ueditor导入word 大学大模型可视化教学 全球气象可视化 大学气象可视化 服务器租用 物理机 进度条 多端开发 智慧分发 应用生态 鸿蒙OS sonoma 自动更新 玩机技巧 软件分享 软件图标 EMUI 回退 降级 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 cmos 并查集 fonts-noto-cjk systemctl 更换镜像源 热键 elementui 若依框架 蓝耘科技 元生代平台工作流 ComfyUI k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm k8s集群资源管理 WebUI DeepSeek V3 virtualbox Docker快速入门 一切皆文件 RDP post.io 企业邮箱 搭建邮箱 漏洞报告生成 恒玄BES Arduino下载开发板 esp32开发板 esp32-s3 wpf dsp开发 青少年编程 编程与数学 能效分析 冯诺依曼体系结构 迭代器模式 Docker 部署es9 Docker部署es Docker搭建es9 Elasticsearch9 Docker搭建es 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 多个客户端访问 IO多路复用 TCP相关API XFS xfs文件系统损坏 I_O error Spring Security 移动云 聊天服务器 套接字 Socket 显示管理器 lightdm gdm 算力 服务器主板 AI芯片 VMware创建虚拟机 工业4.0 VS Code Web应用服务器 行情服务器 股票交易 速度慢 切换 三次握手 MinIO 机架式服务器 1U工控机 国产工控机 腾讯云服务器 轻量应用服务器 linux系统入门 RNG 状态 可复现性 随机数生成 大厂程序员 硅基计算 碳基计算 认知计算 生物计算 AGI 系统架构设计 软件哲学 程序员实现财富自由 slave AI导航站 信创国产化 达梦数据库 CLI JavaScript langgraph.json Scoket 零售 flink flinkcdc alphafold3 mcp client mcp server webgl 服务网格 istio 捆绑 链接 谷歌浏览器 youtube google gmail 基础入门 safari 历史版本 下载 软件卸载 系统清理 curl wget Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 容器技术 影视app 蓝牙 Bluetooth 配对 Linux指令 软硬链接 文件 ebpf nvcc A100 vscode-server ubuntu18.04 springcloud Node-Red 编程工具 流编程 CLion 嵌入式系统开发 钉钉 端口聚合 win11 windows11 ubuntu 18.04 import save load 迁移镜像 权限命令 特殊权限 脚本 kubeless autogen openai 桥接模式 windows虚拟机 虚拟机联网 ocr 游戏机 podman registries Agentic Web NLWeb 自然语言网络 微软build大会 数字化转型 Spring Boot es 进程状态 僵尸进程 人工智能作画 requests python库 WIFI7 无线射频 高通 射频校准 射频调试 射频匹配 Radius webstorm RTMP 应用层 unity3d 银河麒麟服务器操作系统 系统激活 VPS 直流充电桩 raid5数据恢复 磁盘阵列数据恢复 大文件秒传跨域报错cors DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 Dedicated Host Client 无头主机 Erlang OTP gen_server 热代码交换 事务语义 执法记录仪 智能安全帽 smarteye wsgiref Web 服务器网关接口 温湿度数据上传到服务器 Arduino HTTP 田俊楠 西门子PLC 通讯 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? 代码规范 内网渗透 靶机渗透 glm4 shard 教育电商 物理服务器 云服务器租用 物理机租用 独立服务器 RHEL 雾锁王国 messages dmesg blender 数字孪生 决策树 滑动验证码 反爬虫 抽象工厂模式 加密 HarmonyOS5 软件高CPU占用 ProcessExplorer Process Hacker System Informer Windbg 线程的函数调用堆栈 alias unalias 别名 黑苹果 多层架构 解耦 Attention threejs 3D conda配置 conda镜像源 Cookie vpn 磁盘清理 终端 空间 查错 nginx默认共享目录 高可用 底层实现 命令键 vr看房 在线看房系统 房产营销 房产经济 三维空间 数码相机 全景相机 设备选择 实用技巧 数字空间 服务 源码软件 单用户模式 ollama下载加速 linux上传下载 etl 子网掩码 公网IP 私有IP ubuntu24 vivado24 路径解析 序列化反序列化 efficientVIT YOLOv8替换主干网络 TOLOv8 显卡驱动 lio-sam SLAM 输入法 System V共享内存 进程通信 Sealos NLP模型 rancher scikit-learn fabric 通用环境搭建 影刀证书 分享 HBase分布式集群 HBase环境搭建 HBase安装 HBase完全分布式环境 记账软件 容器部署 自动化测试框架 简单工厂模式 计算机八股 开启关闭防火墙 WebFuture 改行学it 重构 c盘 SVN Server tortoise svn Ubuntu 24.04.1 轻量级服务器 junit HAProxy SSL 域名 windows日志 MI300x cpp-httplib 雨云服务器 宕机切换 服务器宕机 tailscale derp derper 中转 能力提升 面试宝典 IT信息化 加解密 Yakit yaklang sqlite3 技术共享 搭建个人相关服务器 gradle TrueLicense dba banner 开源软件 实时云渲染 云渲染 3D推流 光电器件 LED eventfd 高性能 nvidia驱动 Tesla显卡 ECS 漫展 开发效率 Windmill 观察者模式 快速入门 访问公司内网 华为OD机考 机考真题 需要广播的服务器数量 SPP 前端项目部署 微前端 linux安装配置 regedit 开机启动 代理服务器 hosts cd 目录切换 trea idea 模拟实现 HarmonyOS NEXT 原生鸿蒙 macbook Github加速 Mac上Github加速 Chrome浏览器插件 Bandizip Mac解压 Mac压缩 压缩菜单 多路转接 PATH 命令行参数 main的三个参数 react Native token 实战项目 入门 精通 HarmonyOS 5开发环境 嵌入式软件 RTOS 离线部署dify fd 文件描述符 docker命令大全 浏览器开发 AI浏览器 抗锯齿 proxy模式 OpenManus 问题解决 copilot 图片增强 增强数据 生活 网易邮箱大师 IPv6测试 IPv6测速 IPv6检测 IPv6查询 静态IP 源代码 anythingllm open-webui docker国内镜像 finalsheel hosts文件管理工具 4 - 分布式通信、分布式张量 视觉检测 集成 sql注入 pandas 麒麟kos 网络检测 ping TiDB测试集群 csapp 缓冲区 无法解析服务器的名称或地址 NAT转发 NAT Server vasp安装 流式接口 根服务器 hibernate 查询数据库服务IP地址 SQL Server AI agent MNN 社交电子 内网环境 服务器部署ai模型 KingBase Clion Nova ResharperC++引擎 Centos7 远程开发 ardunio BLE skynet 矩阵 智能音箱 智能家居 win服务器架设 windows server 安防软件 互信 代码托管服务 nosql 联网 easyconnect 代理 solidworks安装 ueditor导入pdf ueditor导入ppt laravel 海康 Webserver 异步 Qt QModbus 矩池云 数据下载 数据传输 rtcp 静态NAT MCP 服务器 JADX-AI 插件 rtmp 网络接口 时间间隔 所有接口 多网口 OpenAI 磁盘IO iostat cs144 医药 av1 电视盒子 机顶盒ROM 魔百盒刷机 小艺 Pura X 元服务 应用上架 MacOS录屏软件 分析解读 Linux环境 强制清理 强制删除 mac废纸篓 查看显卡进程 fuser 基础环境 DIFY fork wait waitpid exit 多产物 跨平台 Mac软件 Office cpolar 提示词 ubantu GKI KMI 本地不受DeepSeek 路径规划 文件清理 Unlocker 视频号 更新apt 安装hadoop前的准备工作 xpath定位元素 seatunnel dock 加速 交叉编译 WLAN 解决方案 uprobe netlink libnl3 论文阅读 UFW CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 springboot容器部署 springboot容器化部署 微服务容器化负载均衡配置 微服务容器多节点部署 微服务多节点部署配置负载均衡 5分钟快速学 docker入门 打包工具 物理层 dnn pavucontrol 蓝牙耳机 h.264 sas sysctl.conf vm.nr_hugepages 业界资讯 hugo 游戏开发 架构与原理 XCC Lenovo 迁移指南 服务器正确解析请求体 云耀服务器 clickhouse 授时服务 北斗授时 动态规划 负载测试 accept 自定义登录信息展示 motd 美化登录 access blocked 破解 动态域名 事件分析 边缘服务器 利旧 AI识别 EF Core 客户端与服务器评估 查询优化 数据传输对象 查询对象模式 服务发现 js逆向 排序算法 labview 接口隔离原则 科研绘图 生信服务器 HTTP3 全双工通信 多路复用 实时数据传输 tengine web负载均衡 WAF 移动魔百盒 VR手套 数据手套 动捕手套 动捕数据手套 信号 navicat 合成模型 扩散模型 图像生成 CentOS Stream CentOS Ark-TS语言 支付 微信支付 开放平台 用户管理 玩游戏 sublime text3 实时日志 logs NTP服务器 AppLinking 应用间跳转 时间轮 亲测 bpf bpfjit pcap 南向开发 北向开发 体验鸿蒙电脑操作系统 Windows电脑能装鸿蒙吗 IO模型 figma 互联网医院 linux 命令 sed 命令 实战案例 端口 查看 ss GameFramework HybridCLR Unity编辑器扩展 自动化工具 ajax solr Trae叒更新了? 智能问答 Milvus 红黑树封装map和set 医院门诊管理系统 mapreduce broadcom dockerfile 仓库 ICMPv6 proxy_pass AI控制浏览器 Browser user mcp-server coze扣子 AI口播视频 飞影数字人 coze实战 ipv6 光猫设置 路由器设置 myeclipse 汇编 vb openGauss code-server bootstrap SEO 相差8小时 UTC 时间 ux URL Unity插件 sentinel 分布式训练 SysBench 基准测试 超融合 端口测试 WINCC VPN wireguard 金仓数据库概述 金仓数据库的产品优化提案 AWS caddy OpenManage uv 能源 选择排序 分布式数据库 集中式数据库 业务需求 选型误 机架式 IDC aiohttp asyncio 鼠标 报警主机 豪恩 VISTA120 乐可利 霍尼韦尔 枫叶 时刻 udp回显服务器 算法协商 故障排查 哥sika 支付宝小程序 云开发 语法 keepalived 极限编程 retry 重试机制 Ardupilot 子系统 Linux的基础开发工具 数据库管理 顽固图标 启动台 自定义shell当中管道的实现 匿名和命名管道 红黑树 C/C++ Navigation 路由跳转 鸿蒙官方推荐方式 鸿蒙原生开发 gerrit 系统完整性 越狱设备 GenAI LLM 推理优化 LLM serving 云盘 安全组 智能手表 Pura80 WATCH 5 CMake 自动化编译工具 I/O 设备管理 uboot 部署方案 Bilibili B站 docker部署Python 李心怡 ELF加载 GRE docker search homeassistant 定义 核心特点 优缺点 适用场景 nmcli 网络配置 基本指令 模板 共享 设置 触觉传感器 GelSight GelSightMini GelSight触觉传感器 SonarQube 数据链路层 路由配置 Jenkins 配置凭证 Searxng 压测 恒源云 Wi-Fi vscode 1.86 iDRAC R720xd jetty undertow Nuxt.js xss chfs ubuntu 16.04 IDEA 流量 风扇散热策略 曙光 海光 宁畅 中科可控 jQuery A2A 服务器托管 云托管 数据中心 idc机房 bug定位 缺陷管理 FreeRTOS MQTT Broker GMQT BIO Java socket Java BIO Java NIO Java 网络编程 webserver pve java18 粘包问题 whistle win向maOS迁移数据 接口返回 qtcreator mujoco Ubuntu 24.04 搜狗输入法闪屏 Ubuntu中文输入法 ps命令 手动分区 线程安全 tvm安装 深度学习编译器 RHCE 程序地址空间 恢复 对话框showDialog showActionMenu 操作列表ActionSheet CustomDialog 文本滑动选择器弹窗 消息提示框 警告弹窗 vmvare infini-synapse fast 项目部署 集群管理 watchtower containerd CodeBuddy首席试玩官 rxjava 电子学会 系统架构设计师 机床主轴 热误差补偿 风电齿轮箱 故障诊断 物理-数据融合 预测性维护 paddlepaddle AISphereButler 流量运营 hexo 高效I/O 充电桩平台 充电桩开源平台 泛型编程 制造 站群 多IP 低成本 Modbustcp服务器 国产芯片 风扇控制软件 端口开放 Windows应急响应 应急响应 webshell 网络攻击防御 网络攻击 coffeescript webgis cesium Eigen CUDA Toolkit PCB 达梦 DM8 手机 Modbus TCP 微信自动化工具 微信消息定时发送 gin PP-OCRv5 ubuntu20.04 OCR 视频会议 2025一带一路金砖国家 金砖国家技能大赛 技能发展与技术创新大赛 首届网络系统虚拟化管理与运维 比赛样题 工作流自动化 AI智能体 服务器时间 佛山戴尔服务器维修 佛山三水服务器维修 idm 数字证书 签署证书 lrzsz 火山引擎 Async注解 工厂方法模式 参数服务器 分布式计算 数据并行 openlayers bmap tile server ESP8266简单API服务器 Arduino JSON 集群 uni-popup报错 连接服务器超时 点击屏幕重试 uniapp编译报错 uniapp vue3 imported module TypeError macOS bert IT 护眼模式 Linux的进程概念 重置密码 android-ndk VUE Mysql Windows Hello 摄像头 指纹 生物识别 C++11 lambda 包装类 杂质 CKEditor5 PDF 图片 表格 文档扫描 发票扫描 系统升级 16.04 mysql8.4.5 上架 HDC2025 HarmonyOS 6 CAN总线 进程操作 理解进程 机械臂 数字比特流 模拟信号 将二进制数据映射到模拟波形上 频谱资源 振幅频率相位 载波高频正弦波 MobileNetV3 ROS1/ROS2 Wayland VAD 视频异常检测 VAR 视频异常推理 推理数据集 强化微调 GRPO FCN 实时语音识别 流式语音识别 概率与统计 随机化 位运算 几何计算 数论 线性代数 scala authing Windows 11 重装电脑系统 pikachu靶场 XSS漏洞 XSS DOM型XSS Web测试 协作 转流 rtsp取流 rtmp推流 EasyTier octomap_server 九天画芯 铁电液晶 显示技术 液晶产业 技术超越 HarmonyOS SDK Map Kit 地图 桶装水小程序 在线下单送水小程序源码 桶装水送货上门小程序 送水小程序 订水线上商城 CTF 时序数据库 iotdb vsode arkts arkui 路由器 线程互斥与同步 nvm安装 安全整改 time时间函数 原创作者 mac完美终端 MVVM 鸿蒙5.0 备忘录应用 docker安装mysql win下载mysql镜像 mysql基本操作 docker登陆私仓 docker容器 deepseek与mysql 集合 List 中文分词 UDS Bootloader 扩展错误 vue2 NGINX POD 线程同步与互斥 电商平台 zipkin cangjie Java 日志框架 Log4j2 Logback SLF4J 结构化日志 企业级应用 FS100P mobaxterm 泛微OA 视频直播物理服务器租用 KingbaseES 分布式总线 激光雷达 镭眸 云解析 云CDN SLS日志服务 云监控 FreeLearning EulerOS 版本对应 Linux 发行版 企业级操作系统 开源社区 苹果 黑马 苍穹外卖 GDB调试 Ubuntu环境 四层二叉树 断点设置 黑屏 Win10修改MAC cp 进度显示 ai编程 pow 指数函数 优化 N8N docker 失效 docker pull失效 docker search超时 责任链模式 最新微服务 BiSheng pi0 lerobot aloha act 开启黑屏 gpu 虚拟主机 物理机服务器 食用文档 开闭原则 dos 批处理 日期 物理服务器租用 汽车 English #Linux #shell #脚本 skywalking NAT usb typec 信奥 Cilium 几何绘图 三角函数 敏捷开发 CSDN开发云 siteground siteground安装wp 一键安装wordpress 服务器安装wordpress 小亦平台 运维问题解决方法 gaussdb问题解决 学习笔记 分布式锁 iptables 效率 FreeFileSync 定时备份 OpenTiny dockercompose安装 compose.yml文件详解 dockercompose使用 funasr asr 语音转文字 proteus Termius Vultr 远程服务器 ohmyzsh network NetworkManager rtsp转rtmp 海康rtsp转rtmp 摄像头rtsp到rtmp rtsp转发 rtsp摄像头转rtmp rtsp2rtmp 地平线5 dfs RustDesk 搭建服务器 cordova 跨域开发 统信uos 进程创建 进程退出 WinCC OT与IT SCADA 智能制造 MES guava SpringBoot redisson tty2