docker 开发环境搭建

服务搭建

1.redis 2.mysql 3.ribbitmq 4.mongodb 5. mongo-express 6.portainer

注意初始脚本必须重新构建的时候才生效需要1.删除已有镜像 2.删除data目录

version: '3'
services:
  redis:
    image: "redis:6.0"
    # 容器名(以后的控制都通过这个)
    container_name: redis-compose
    hostname: redis-compose
    restart: always
    privileged: true
    ports:
      - 6379:6379
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data/redis/:/data
      - ./conf/redis:/etc/redis
      - ./logs/redis/:/logs
    command: ["redis-server","/etc/redis/redis.conf"]
  mysql:
    image: mysql:5.7
    # 容器名(以后的控制都通过这个)
    container_name: mysql-compose
    hostname: mysql-compose
    # 重启策略
    restart: always
    ports:
      - "3306:3306"
    privileged: true
    volumes:
      # 挂挂载配置文件
      - ./conf/mysql:/etc/mysql/conf.d
      # 挂载日志
      - ./logs/mysql/:/var/log/mysql
      # 挂载数据
      - ./data/mysql:/var/lib/mysql
      - ./init/mysql:/docker-entrypoint-initdb.d/
    command: [
        'mysqld',
        '--innodb-buffer-pool-size=80M',
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_unicode_ci',
        '--default-time-zone=+8:00',
        '--lower-case-table-names=1'
    ]
    environment:
      # root 密码
      MYSQL_ROOT_PASSWORD: 123456
  #rabbitmq
  rabbitmq:
    #mq依赖的镜像
    image: rabbitmq:3-management
    container_name: rabbitmq-compose
    hostname: rabbitmq-compose
      # 重启策略
    restart: always
    ports:
      - 15672:15672
      - 5672:5672
    volumes:
      - ./data/rabbit:/var/lib/rabbitmq
      - ./init/rabbit:/docker-entrypoint-initdb.d/
    #environment:
       # root 密码
      #RABBITMQ_DEFAULT_USER: rabbit
      #RABBITMQ_DEFAULT_PASS: rabbit

  mongodb:
    image: mongo:4.4
    container_name: mongodb-compose
    hostname: mongodb-compose
    restart: always
    networks:
      - networkdb
    command: --auth
    environment:
      # 时区上海
      TZ: Asia/Shanghai
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: 123456
      MONGO_INITDB_DATABASE: collector
      MONGO_USERNAME: mongodb
      MONGO_PASSWORD: mongodb
    volumes:
      - ./data/mongo/:/data/db
      - ./init/mongo:/docker-entrypoint-initdb.d/
      - ./conf/mongo:/etc/mongo/mongod.conf
      - ./logs/mongo:/var/log/mongodb
    ports:
      - 27017:27017

  mongo-express:
    image: mongo-express
    container_name: mongo-express-compose
    hostname: mongo-express-compose
    restart: always
    depends_on:
      - mongodb
    networks:
      - networkdb
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: admin
      ME_CONFIG_MONGODB_ADMINPASSWORD: 123456
      ME_CONFIG_MONGODB_URL: mongodb://admin:123456@mongodb-compose:27017/

  #docker监控
  portainer:
    image: portainer/portainer-ce
    container_name: portainer-compose
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data/portainer/:/data
    ports:
      - "8000:8000"
      - "9000:9000"
      - "9443:9443"

networks:
  networkdb:

config:软件配置目录

redis.conf
mongod.conf

init:软件初始目录

mkdir -p ./init/mongo
mkdir -p ./init/mysql
mkdir -p ./init/rabbit

data:软件数据目录

logs:软件日志目录

mysql初始脚本:创建初始用户(非root)并授权 init.sql

use mysql;
create user 'collector'@'%' IDENTIFIED by '!QAZ@WSX3edc';
grant all on  *.* to collector@'%';

mongo初始脚本:init.sh 注意use数据库不能用环境变量代替,代替就生成用户失败 不知道为什么?

#!/bin/bash

echo "jjjjjjjjjjjjjjjjjjjjjjjjjjjjj"
echo "'$MONGO_USERNAME'"
echo "'$MONGO_PASSWORD'"

mongo <<EOF

use test;
db.createUser(
  {
    user: 'mongo',
    pwd:  'mongo',
    roles: [ { role: "readWrite", db: 'test' } ]
  }
);


use collector;
db.createUser(
  {
    user: '$MONGO_USERNAME',
    pwd:  '$MONGO_PASSWORD',
    roles: [ { role: "readWrite", db: 'collector' } ]
  }
);

EOF

rabbitmq初始脚本 init.sh 

#!/bin/bash

/opt/rabbitmq/sbin/rabbitmqctl add_user admin admin
/opt/rabbitmq/sbin/rabbitmqctl set_user_tags admin administrator
/opt/rabbitmq/sbin/rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

version: "3.8"
services:
#  nacos/xxl-job改为连接mariadb数据库
#  nacos-mysql:
#    build:
#      context: .
#      dockerfile: ./config/nacos/mysql/Dockerfile
#    image: nacos/mysql:8.0.31
#    container_name: nacos-mysql
#    hostname: nacos-mysql
#    restart: always
#    env_file:
#      - ./config/nacos/mysql.env
#    volumes:
#      - ./data/nacos-mysql:/var/lib/mysql
#        #- ./config/nacos/nacos-mysql/sql:/docker-entrypoint-initdb.d/
#    ports:
#      - "13306:3306"
#    networks:
#      - yaxt-network
#    healthcheck:
#      test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
#      interval: 5s
#      timeout: 10s
#      retries: 10 
  nacos:
    image: nacos/nacos-server:v2.3.2
    container_name: nacos
    hostname: nacos
    restart: always
    env_file:
      - ./config/nacos/nacos-standlone-mysql.env
    volumes:
      - ./logs/nacos/:/home/nacos/logs
    ports:
      - "8848:8848"
      - "9848:9848"
    networks:
      - yaxt-network
    depends_on:
      - mariadb
  xxl-job-admin:
    image: xuxueli/xxl-job-admin:2.4.1
    container_name: xxl-job-admin
    hostname: xxl-job-admin
    restart: always
    privileged: true
    environment:
      PARAMS: '
        --spring.datasource.url=jdbc:mysql://192.168.2.205:3306/xxl_job?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
        --spring.datasource.username=root
        --spring.datasource.password=yaxt-mariadb
        --xxl.job.accessToken=xxl_job'
    volumes:
      - ./logs/xxl-job-admin/:/data/applogs
    ports:
      - "8080:8080"
    networks:
      - yaxt-network
    depends_on:
      - mariadb
  mariadb:
    image: mariadb:11.5.2
    container_name: mariadb
    hostname: mariadb
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./config/mariadb/my.cnf:/etc/mysql/conf.d/my.cnf
      - ./data/mariadb/:/var/lib/mysql
      - ./config/mariadb/sql:/docker-entrypoint-initdb.d/
    environment:
      TIME_ZONE: Asia/Shanghai
      MARIADB_USER: yaxt
      MARIADB_PASSWORD: yaxt-mariadb
      MARIADB_DATABASE: yaxt
      MARIADB_ROOT_PASSWORD: yaxt-mariadb
    networks:
      - yaxt-network
    healthcheck:
      test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
      interval: 5s
      timeout: 10s
      retries: 10 

  mysqld-exporter:
    image: prom/mysqld-exporter:v0.15.1
    container_name: mysqld-exporter
    hostname: mysqld-exporter
    restart: always
    ports:
      - 9104:9104
    environment:
      TIME_ZONE: Asia/Shanghai
    command:
      - "--mysqld.username=root:yaxt-mariadb"
      - "--mysqld.address=mariadb:3306"
    networks:
      - yaxt-network
    depends_on:
      - mariadb
  adminer:
    image: adminer
    container_name: adminer
    hostname: adminer
    restart: always
    ports:
      - 8084:8080
    depends_on:
      rabbitmq:
        condition: service_healthy
  redis:
    image: "redis:6.2"
    container_name: redis
    hostname: redis
    restart: always
    privileged: true
    ports:
      - 6379:6379
    networks:
      - yaxt-network
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data/redis/:/data
      - ./config/redis/:/etc/redis
      - ./logs/redis/:/logs
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-exporter:
    image: bitnami/redis-exporter:1.65.0
    container_name: redis-exporter
    hostname: redis-exporter
    restart: always
    ports:
      - 9121:9121
    environment:
      TZ: Asia/Shanghai
    command:
      - '--redis.addr=redis://redis:6379'
      - '--redis.password=yaxt-redis'
    networks:
      - yaxt-network
    depends_on:
      - redis
  mongodb:
    image: mongo:6
    container_name: mongodb
    hostname: mongodb
    restart: always
    command: --auth
    environment:
      TZ: Asia/Shanghai
      MONGO_INITDB_ROOT_USERNAME: yaxt-root
      MONGO_INITDB_ROOT_PASSWORD: yaxt-mongodb
      MONGO_INITDB_DATABASE: admin
    volumes:
      - ./data/mongo/:/data/db
      - ./config/mongo/init:/docker-entrypoint-initdb.d/
      - ./config/mongo/conf:/etc/mongo/mongod.conf
      - ./logs/mongo/:/var/log/mongodb
    ports:
      - 27017:27017
    networks:
      - yaxt-network
  mongodb_exporter:
    image: bitnami/mongodb-exporter:0.41.2
    container_name: mongodb_exporter
    hostname: mongodb-exporter
    restart: always
    environment:
      TZ: Asia/Shanghai
      MONGODB_URI: mongodb://yaxt:yaxt-mongodb@mongodb:27017/admin?ssl=false
    ports:
      - 9216:9216
    networks:
      - yaxt-network
    depends_on:
      - mongodb
  rabbitmq:
    image: rabbitmq:3-management
    container_name: rabbitmq
    hostname: rabbitmq
    restart: always
    ports:
      - 15672:15672
      - 5672:5672
      - 15692:15692
      - 15675:15675
      - 1883:1883
      - 5552:5552
    networks:
      - yaxt-network
    volumes:
      - ./data/rabbit/:/var/lib/rabbitmq
      - ./config/rabbit/:/etc/rabbitmq
      - ./config/rabbit/init:/docker-entrypoint-initdb.d/
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: yaxt
      RABBITMQ_DEFAULT_PASS: yaxt-mq
    healthcheck:
      test: ["CMD", "rabbitmqctl", "status"]
      interval: 30s
      timeout: 10s
      retries: 5
  minio:
    image: minio/minio:RELEASE.2024-09-22T00-33-43Z
    container_name: minio
    hostname: minio
    restart: always
    command: server /data --console-address ":9001"
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - ./data/minio/:/data
    environment:
      TZ: Asia/Shanghai
      MINIO_ROOT_USER: yaxt
      MINIO_ROOT_PASSWORD: yaxt-minio
  sentinel-dashboard:
    image: bladex/sentinel-dashboard:1.8.8
    container_name: sentinel-dashboard
    hostname: sentinel-dashboard
    restart: always
    ports:
      - 8858:8858
    environment:
      sentinel.dashboard.auth.username: yaxt
      sentinel.dashboard.auth.password: yaxt-sentinel
#  elk作为单独项目,放置于用户目录elk文件夹下,独立部署
#  elasticsearch:
#    image: elasticsearch:7.10.1
#    container_name: elasticsearch
#    hostname: elasticsearch
#    restart: always
#    ports:
#      - 9200:9200
#      - 9300:9300
#    volumes:
#      - ./data/elasticsearch/:/usr/share/elasticsearch/data
#      - ./logs/elasticsearch/:/usr/share/elasticsearch/logs
#    environment:
#      discovery.type: single-node
#      xpack.security.enabled: false
#      TAKE_FILE_OWNERSHIP: true
#    networks:
#      - yaxt-network
#  kibana:
#    image: kibana:7.10.1
#    container_name: kibana
#    hostname: kibana
#    restart: always
#    ports:
#      - 5601:5601
#    environment:
#      - elasticsearch.hosts=http://elasticsearch:9200
#      - I18N_LOCALE=zh-CN
#    networks:
#      - yaxt-network
#    depends_on:
#      - elasticsearch
#  logstash:
#    image: logstash:7.10.1
#    container_name: logstash
#    hostname: logstash
#    restart: always
#    ports:
#      - 9600:9600
#      - 9601:9601
#      - 5044:5044
#      - 9603:9603
#    volumes:
#      - ./config/logstash/conf.d:/usr/share/logstash/config/conf.d
#      - ./config/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
#    extra_hosts:
#      - "es:192.168.8.75"
#    networks:
#      - yaxt-network
#    depends_on:
#      - elasticsearch
  prometheus:
    image: prom/prometheus:v2.20.1
    container_name: prometheus
    hostname: prometheus
    restart: always
    ports:
      - 9090:9090
    volumes:
        - ./config/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml
    networks:
      - yaxt-network
  node_exporter:
    image: prom/node-exporter:v1.8.2
    container_name: node_exporter
    hostname: node_exporter
    restart: always
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    ports:
      - 9100:9100
    environment:
      TZ: Asia/Shanghai
    command:
      - '--path.procfs=/host/proc'
      - '--path.rootfs=/rootfs'
      - '--path.sysfs=/host/sys'
      - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
    networks:
      - yaxt-network
  grafana:
    image: grafana/grafana:9.3.2
    container_name: grafana
    hostname: grafana
    restart: always
    ports:
      - 3000:3000
    environment:
      - GF_SECURITY_ADMIN_USER=yaxt
      - GF_SECURITY_ADMIN_PASSWORD=yaxt-grafana
      - GF_USERS_ALLOW_SIGN_UP=false
    networks:
      - yaxt-network
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    restart: always
    volumes:
      - ./data/jenkins_home:/var/jenkins_home
      - /usr/local/maven:/usr/local/maven
      - /usr/local/jdk8:/usr/local/jdk8
      - /usr/local/bin/sshpass:/usr/local/bin/sshpass
      - /usr/local/node:/usr/local/node
      - /usr/local/node14:/usr/local/node14
    ports:
      - "8083:8080"
      - "50000:50000"
    privileged: true
    user: root
    environment:
      TZ: Asia/Shanghai
      JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties -Xms2048m -Xmx2048m'
  geoserver:
    image: docker.osgeo.org/geoserver:2.26.1
    container_name: geoserver
    hostname: geoserver
    restart: always
    privileged: true
    ports:
      - 8081:8080
    environment:
      TZ: Asia/Shanghai
      GEOSERVER_ADMIN_USER: yaxt
      GEOSERVER_ADMIN_PASSWORD: yaxt-geoserver
    volumes:
      - ./data/geoserver/:/opt/geoserver_data/
    networks:
      - yaxt-network
  tdengine:
    image: "tdengine/tdengine:3.3.5.2"
    container_name: tdengine
    hostname: tdengine
    restart: always
    privileged: true
    ports:
      - 6030-6060:6030-6060
      - 6030-6060:6030-6060/udp
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data/taos/:/var/lib/taos
      - ./logs/taos/:/var/log/taos
    networks:
      - yaxt-network


networks:
    yaxt-network:
      name: yaxt-network

Docker (二) --------- Docker 环境搭建 目录 一、Docker 版本 二、Docker 的安装 三、Docker 服务启动 四、Docker 服务信息 五、Docker 使用初体验 1. Docker 的运行机制 2. 第一个 Docker 容器 3. 进入 Docker 容器 4. 客户机访问容器 一、Docker 版本 Docker 从 2013 年 3 月 20 日发布 Docker 0.1,到现在已经发布了多个版本,从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本 : Docker CE 和 Doc 阅读详情

相关推荐

Docker最全教程之使用Docker搭建Java开发环境(十七)

Docker最全教程之使用Docker搭建Java开发环境(十七) 前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿。 本篇仅作探索,希望对大家有所帮助。 目录 ...

magicodes 2353

Docker一键部署开发环境~带你逃离问题频出的环境部署

你先要了解`docker`和`linux`的基础知识,如果没有相关知识的小伙伴可以先看以下的两篇文章简单学习下相关知识

DEVELOPERAA的博客 2512

使用Docker搭建tensorflow开发环境

使用Docker搭建tensorflow nmt开发环境 Docker是目前最流行的容器技术. 可以将Docker看成轻量级的虚拟机,但是它非常轻量. 它像是一艘运输船,将开发或者运维等等过程中所需要的依赖全部打包到一个镜像(image)中, 任何人只需要将该镜像拉取下来, 就可以开箱即用, 不需要自己去安装一大堆依赖. 同时因为这些依赖都是运行在容器里面的, 不会污染宿主机的环境, 因此非常适

stupid_3的博客 2916

Docker实践:使用Docker搭建个人开发环境(极简版)

了在服务器上如何构建。

MAVER1CK的博客 1万+

Docker最全教程之使用Docker搭建Java开发环境

前言Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿。Java[Java])具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

2501_90257706的博客 659

用 Docker 搭建 PHP 开发环境,已经是常态

用 Docker 搭建 PHP 开发环境,已经是常态 docker搭建php环境,因为是本地的开发环境,所以想多尝尝鲜,尽量使用高版本的软件来实现。 希望能给同样有需要搭建环境的同学起到一些帮助,少踩一些坑,如果能按照这篇文章的步骤一次搞定那是最好了。 先来说一下环境: Docker 18.09.2 Nginx 1.17.1 PHP 7.3.7 XDebug 2.7.2 PhpStorm 2019.1.3 VSCode 1.36.1 1、Docker 的安装,我这里是Mac版的。 这里大家直接在 Dock

weixin_43503815的博客 3568

如何用Docker搭建本地开发环境?

一致性- 确保所有团队成员使用相同环境隔离性- 不同项目的依赖不会相互干扰可移植性- 环境可以在任何支持 Docker 的系统上运行可版本控制- 环境配置可以通过 Git 管理快速启动- 新成员加入只需几分钟即可完成环境搭建使用命名卷而非匿名卷保存数据配置环境变量以适应不同场景为容器命名以便于管理将常用命令添加到 Makefile 或 npm scripts 中以简化操作通过本指南的配置模板,您可以根据项目需求快速组合和定制适合的开发环境,大大提高开发效率。

小宝哥Code的专栏 3434

如何利用 Docker 搭建网站的开发环境

准备工作在前面的章节,我们已经介绍了如何在 Windows 中安装 Docker,并介绍了一些常用的命令。如果上述这些准备工作还没做好,请先参考 https://blog.csdn.net/lamp_yang_3533/article/details/77801992 。下面我们将具体介绍,如何使用 Docker 来搭建网站的开发环境。我们以 ThinkPHP 5.1 为例,介绍如何在 Windo...

彳亍 5580

如何用docker搭建python的开发环境

如何用docker搭建python的开发环境 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程:dokcer的配置] Docker开发环境配置 Docker下配置python开发环境 使用dockerfile和pip安装python拓展包 lz使用atp-get install和pip install共同完成python拓展包的安装,原因,有的拓展包atp-g...

qq_41761764的博客 1922

Pycharm使用之利用Docker镜像搭建Python开发环境

在弹出的界面中,选择“Docker”,右侧的Server一般默认为本地的Docker,等待一会儿它会提示连接成功,当然你也可以选择远程服务器的Docker,这个设置这里不再讲述。在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?,External Libraries为空,到时候我们将用Docker中的Python环境作为该项目的Python开发环境。可以看到,Python的运行结果正常,这说明Python开发环境真的可以使用了。

weixin_73136678的博客 2462

SAP WM模块事务码(TCODE)大全

OL07 Data transfer stor.bins LDK34->RLPLA 仓储位LDK34 ->RLPLA

matinal 當冬夜漸暖 。公众号:matinal 5846

Docker之快速搭建本地开发环境

通过以上方法,你可以高效使用 Docker 搭建本地开发环境,提升开发效率和团队协作能力!

qq_23642071的博客 1397

手把手用瑞萨E1仿真器调试RH850 CAN通信:从报文收发到底层寄存器监控

本文详细介绍了使用瑞萨E1仿真器调试RH850 CAN通信的全过程,包括硬件连接、CS+开发环境配置、CAN控制器寄存器解析以及双通道网关实战开发。通过实战案例和错误诊断技巧,帮助开发者快速掌握RH850F1L的RS-CAN控制器应用,提升车载网络开发效率。

weixin_30919429的博客 163

使用Docker搭建高效个人开发环境

不同项目可能依赖不同的语言版本、框架和库,而手动配置这些环境不仅耗时,还容易引发“在我的机器上可以运行”的问题。通过容器化技术,Docker可以快速、一致地搭建开发环境,让开发者专注于代码编写,而不是环境配置。1. 访问 Docker官网 https://www.docker.com/products/docker-desktop 下载Docker Desktop。镜像可以被重复使用,是不可变的。在开发过程中,你可以直接在宿主机上修改代码,由于挂载了卷,容器内的代码会实时同步,无需重新构建镜像。

qq_74383080的博客 856

MindIE与vLLM-Ascend性能对决:Qwen3在昇腾910B上的推理效率实测

本文深度对比了昇腾910B平台上两大推理框架MindIE与vLLM-Ascend的性能表现。通过实测Qwen3系列模型,详细分析了二者在单卡、多卡场景下的推理效率、扩展性及生产环境适用性,为AI算力基础设施选型提供关键参考。

weixin_29214335的博客 1190

SAP UI5 控件剖析系列之 sap.m.DatePicker:单日选择的工程化用法、最佳实践与常见坑

在 SAP UI5 的输入控件族里,是最常被使用的日期选择控件。它把一个可编辑的输入框与一个弹出的日历整合在一起,允许用户用触摸、鼠标或键盘在本地化格式下选择某一天;控件既可以从弹出的日历里点选,也可以直接在输入框里键入日期。官方 Fiori 设计规范对它的定位就是:完成单个日期的选择,不牵涉时间,也不负责跨天的范围选择。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 343

学以致用——用Docker搭建ThinkPHP开发环境

本文介绍了在 Windows 系统中用 Docker 搭建 ThinkPHP 8.1 开发环境的步骤:先通过 3 种方式创建 ThinkPHP 8.1 项目,再配置 docker-compose.yml 和 nginx.conf,启动容器集群后安装 PHP 必要扩展,最后测试环境并调整数据库配置。同时说明 Windows 系统的终端命令差异、端口冲突处理及权限设置等适配要点。

yongyuandeziji的博客 1907

2.2 保姆级教程:手把手带你构建第一个 LangGraph 应用

本文是一份保姆级教程,手把手教你构建第一个LangGraph应用——"智能工具助手"Agent。教程分为8个步骤:从环境准备到工具定义(使用Tavily搜索API和自定义计算器),再到定义图状态、创建决策节点和执行节点,最后连接工作流并编译运行。通过这个项目,你将学会如何让Agent智能选择工具(搜索或计算),掌握LangGraph开发的基本流程,为构建更复杂系统打下基础。关键点包括状态管理、节点设计和条件路由的实现。

yonggeit的博客 3117

用Docker搭建yolov5开发环境

用Docker搭建yolov5开发环境,小白可以上手。

Fan0920的专栏 5349

CE电流法测试中的dBμV负值解析

传导发射(CE)电流法测试中出现的dBμV负值现象表明被测设备干扰电平低于1μV参考基准。这源于对数计算特性(小于1μV的电压转换后为负值)、设备优良的EMC设计(如滤波效果显著)及测试环境的影响(LISN隔离、屏蔽室低噪声)。负值虽不代表实际负电压,但反映干扰水平优于标准限值,为系统集成预留电磁裕度。工程应用中需结合设备灵敏度、环境背景噪声等因素综合分析,避免误判,这类数据可用于评估EMI设计冗余度。

硬核科技 298

某Z节验证码

某Z节验证码、captchaBody、滑块、旋转、空间推理

mamenqi_csdn的博客 773

docker本地PHP开发环境搭建

docker + docker-compose 快速搭建PHP本地开发环境

github_39164078的博客 4815

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

基于Docker搭建Django开发环境

本文主要是作为官方Quickstart: Compose and Django的导读,如果你当下还没了解过Docker,但想知道如何利用Docker来管理自己本地的开发环境,并统一开发和测试的环境,那你可以参考以下内容。 ###需求: 使用Docker搭建Django开发环境,即本地只需要有p...

chixingmin0137的博客 606

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

本地用Docker搭建go开发环境

docker,go,gin的部署,go环境的搭建

Jerry%Chow的博客 5394

使用docker搭建PHP开发环境

为什么80%的码农都做不了架构师?>>> ...

weixin_33809981的博客 750
上一篇: Jvm 内存模型
下一篇: mongo
三笠爷
博客等级 码龄9年 18粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值