docker 运行 芋道微服务
创建文件夹 docker-ai
文件夹下放入需要jar包的文件夹及 docker-compose.yml 文件

docker-compose.yml 内容:我这里的是ai服务,所以将原先的文件内容做了变更,你们需要用到什么服务就在下面文件中进行更改即可
version: '3'
services:yudao-gateway:build: context: ./yudao-systemimage: yudao-gatewaycontainer_name: yudao-gatewayenvironment:- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking- SW_AGENT_NAME=yudao-gateway- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间volumes:- /docker/yudao-cloud/logs:/root/logs/- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agentrestart: alwaysnetwork_mode: host # 以主机网络环境运行yudao-system:build: context: ./yudao-systemimage: yudao-module-system-bizcontainer_name: yudao-systemenvironment:- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking- SW_AGENT_NAME=yudao-gateway- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间volumes:- /docker/yudao-cloud/logs:/root/logs/- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agenthealthcheck:test: [ "CMD","curl","-f","http://localhost:48081" ]interval: 30stimeout: 10sretries: 5start_period: 60srestart: alwaysnetwork_mode: hostyudao-infra:build: context: ./yudao-infraimage: yudao-module-infra-bizcontainer_name: yudao-infraenvironment:- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking- SW_AGENT_NAME=yudao-gateway- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间volumes:- /docker/yudao-cloud/logs:/root/logs/- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agentrestart: alwaysnetwork_mode: hosthealthcheck:test: [ "CMD","curl","-f","http://localhost:48082" ]interval: 30stimeout: 10sretries: 5start_period: 60sdepends_on:yudao-system:condition: service_healthyyudao-ai:build: context: ./yudao-aiimage: yudao-module-ai-bizcontainer_name: yudao-aienvironment:- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking- SW_AGENT_NAME=yudao-gateway- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间volumes:- /docker/yudao-cloud/logs:/root/logs/- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agentrestart: alwaysnetwork_mode: hostdepends_on:yudao-infra:condition: service_healthy
其他jar包文件夹下都放的是对应的jar包及Dockerfile 文件
拿 yudao-gateway 文件夹举例:

Dockerfile 文件需要更改jar包所在位置

在 docker-ai 下运行以下命令启动:
docker compose -f docker-compose.yml up -d

报错 ERROR [yudao-gateway internal] load metadata for docker.io/library/eclipse-temurin:21-jre

Docker 尝试拉取 eclipse-temurin:21-jre 镜像时遇到了网络相关的问题,使用国内镜像加速器
解决:找到 /etc/docker/daemon.json
更改为:
{"registry-mirrors": [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://docker.rainbond.cc" ]}


重新启动
docker compose -f docker-compose.yml up -d
yudao-system 服务启动失败报错了

检查log日志 docker logs yudao-system
[root@iZ8vbj8zzik3i0x7siftkrZ docker-ai]# docker logs yudao-system
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
意思是说 skywalking-agent.jar 没有找到需要安装
看了一眼安装教程有点繁琐,先去掉,后续有时间再进行安装
更改docker-compose.yml 文件中skywalking相关
每个服务配置下都有以下这三行,删除掉即可

删除完之后将nacos配置进行更改下

再次启动
docker compose -f docker-compose.yml up -d
发现redis连接报错一直连接127.0.0.1, ,可是我的配置文件中名称指定了地址
Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379at org.redisson.connection.ConnectionsHolder.lambda$createConnection$2(ConnectionsHolder.java:167) ~[redisson-3.41.0.jar!/:3.41.0]at java.base/java.util.concurrent.CompletableFuture.uniHandle(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source) ~[na:na]at org.redisson.connection.ConnectionsHolder.lambda$createConnection$5(ConnectionsHolder.java:181) ~[redisson-3.41.0.jar!/:3.41.0]at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source) ~[na:na]at org.redisson.client.RedisClient$1$2.run(RedisClient.java:304) ~[redisson-3.41.0.jar!/:3.41.0]at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]
排查发现 docker-compose.yml 文件中指定了环境 test
SPRING_PROFILES_ACTIVE=test
更改为
SPRING_PROFILES_ACTIVE=dev

处理完成之后我们再次启动
相关文章:
docker 运行 芋道微服务
创建文件夹 docker-ai 文件夹下放入需要jar包的文件夹及 docker-compose.yml 文件 docker-compose.yml 内容:我这里的是ai服务,所以将原先的文件内容做了变更,你们需要用到什么服务就在下面文件中进行更改即可 version: 3 services:yudao-g…...
C++ Primer 函数重载
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
【Rust中级教程】1.6. 内存 Pt.4:静态(static)内存与‘static生命周期标注
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 1.6.1. 静态(static)内存 static内存实际上是一个统称,它指的是程序编译后的文…...
【设计模式】【行为型模式】解释器模式(Interpreter)
👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…...
修改OnlyOffice编辑器默认字体
通过Docker修改OnlyOffice编辑器默认字体 问题描述详细方案1. 删除原生字体文件2. 创建字体目录3. 复制字体文件到容器中4. 执行字体更新脚本5. 重新启动容器 注意事项 问题描述 在OnlyOffice中,编辑器的默认字体可能不符合公司或个人的需求,通常会使用…...
React echarts柱状图点击某个柱子跳转页面
绘制echarts柱状图 在 ECharts 中,如果你想要在点击柱状图的某个柱子时进行页面跳转,你可以通过设置 series 中的 data 属性中的 itemStyle 或者使用 series 的 label 属性中的 emphasis 属性来实现。但是,直接在柱状图中实现点击跳转通常涉…...
wordpress主题插件开发中高频使用的38个函数
核心模板函数 get_header()/get_footer()/get_sidebar() – 加载模板部件 the_title()/the_content()/the_excerpt() – 显示文章标题、内容、摘要 the_post() – 循环中获取文章数据 bloginfo(‘url’) – 获取站点URL wp_head()/wp_footer() – 输出头部/尾部代码 wp_n…...
ElasticSearch基础和使用
ElasticSearch基础 1 初识ES相关组件 (1)Elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。Elasticsearch结合kibana、Logstash、Beats组件 也就是elastic stack(ELK) 广泛应…...
qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene
qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene code review! 文章目录 qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene1.`setScene` 方法2.通过 `scene` 获取它的视图 (`views()`)…...
小白win10安装并配置yt-dlp
需要yt-dlp和ffmpeg 注意存放路径最好都是全英文 win10安装并配置yt-dlp 一、下载1.下载yt-dlp2. fffmpeg下载 二、配置环境三、cmd操作四、yt-dlp下视频操作 一、下载 1.下载yt-dlp yt-dlp地址 找到win的压缩包点下载,并解压 2. fffmpeg下载 ffmpeg官方下载 …...
【kafka系列】broker
目录 Broker 接收生产者消息和返回消息给消费者的流程逻辑分析 Broker 处理生产者消息的核心流程 Broker 处理消费者消息的核心流程 关键点总结 Broker 接收生产者消息和返回消息给消费者的流程逻辑分析 Broker 处理生产者消息的核心流程 接收请求 Broker 的 SocketServer …...
用大模型学大模型05-线性回归
deepseek.com:多元线性回归的目标函数,损失函数,梯度下降 标量和矩阵形式的数学推导,pytorch真实能跑的代码案例以及模型,数据,预测结果的可视化展示, 模型应用场景和优缺点,及如何改进解决及改进方法数据推…...
Python实现AWS Fargate自动化部署系统
一、背景介绍 在现代云原生应用开发中,自动化部署是提高开发效率和保证部署质量的关键。AWS Fargate作为一项无服务器计算引擎,可以让我们专注于应用程序开发而无需管理底层基础设施。本文将详细介绍如何使用Python实现AWS Fargate的完整自动化部署流程。 © ivwdcwso (ID…...
国产编辑器EverEdit - 上下翻滚不迷路(历史编辑位置、历史光标位置回溯功能)
1 光标位置跳转 1.1 应用场景 某些场景下,用户从当前编辑位置跳转到别的位置查阅信息,如果要快速跳转回之前编辑位置,则可以使用光标跳转相关功能。 1.2 使用方法 1.2.1 上一个编辑位置 跳转到上一个编辑位置,即文本修改过的位…...
今日写题work05
题目:用队列实现栈 思路 队列的特点是先进先出,而栈的特点是后进先出。所以想要用队列实现模拟栈,我们可以使用两个队列,一个队列负责压栈,一个队列负责出栈。压栈很简单就是检空再调用队列的push就好,那出…...
[C++语法基础与基本概念] std::function与可调用对象
std::function与可调用对象 函数指针lambda表达式std::function与std::bind仿函数总结std::thread与可调用对象std::async与可调用对象回调函数 可调用对象是指那些像函数一样可以直接被调用的对象,他们广泛用于C的算法,回调,事件处理等机制。…...
两个实用且热门的 Python 爬虫案例,结合动态/静态网页抓取和反爬策略,附带详细代码和实现说明
在这个瞬息万变的世界里,保持一颗探索的心,永远怀揣梦想前行。即使有时会迷失方向,也不要忘记内心深处那盏指引你前进的明灯。它代表着你的希望、你的信念以及对未来的无限憧憬。每一个不曾起舞的日子,都是对生命的辜负࿱…...
华象新闻 | 2月20日前谨慎升级 PostgreSQL 版本
各位 PostgreSQL 用户,建议近期进行升级 PostgreSQL 版本。 2月20日计划进行非周期性版本发布 PostgreSQL全球开发团队计划于2025年2月20日进行一次非周期性发布,以解决2025年2月13日更新版本中引入的一个回归问题。 2月13日的更新版本包括了17.3、16.7、…...
跳跃游戏 II - 贪心算法解法
问题描述: 给定一个长度为 n 的 0 索引整数数组 nums,我们从数组的第一个元素 nums[0] 开始。每个元素 nums[i] 表示从索引 i 可以跳跃的最大长度,换句话说,从位置 i,你可以跳到位置 i j,其中 0 < j &…...
图像质量评价指标-UCIQE-UIQM
一、评价指标UCIQE 在文章《An underwater color image quality evaluation metric》中,提到的了评价指标UCIQE(Underwater Colour Image Quality Evaluation),是一种无参考图像质量评价指标,主要用于评估水下图像的质…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
