【docker compose 部署和 go 热部署工具fresh】

文章目录

      • `docker-compose.yml` 文件配置得很全面,以下是一些注释
      • 安装 `fresh`
      • 配置 `fresh`
      • 注意事项

docker-compose.yml 文件配置得很全面,以下是一些注释

version: '3'
services:# MySQL 服务geekai-mysql:image: registry.cn-shenzhen.aliyuncs.com/geekmaster/mysql:8.0.33  # 使用的镜像container_name: geekai-mysql  # 容器名称command: --default-authentication-plugin=mysql_native_password  # 默认认证插件restart: always  # 自动重启策略environment:- MYSQL_ROOT_PASSWORD=12345678  # MySQL root 用户密码ports:- "3307:3306"  # 主机端口3307映射到容器端口3306volumes:- ./conf/mysql/my.cnf:/etc/mysql/my.cnf  # 自定义配置文件- ./data/mysql/data:/var/lib/mysql  # 数据持久化- ./logs/mysql:/var/log/mysql  # 日志持久化- ./data/mysql/init.d:/docker-entrypoint-initdb.d/  # 初始化脚本# Redis 服务geekai-redis:image: registry.cn-shenzhen.aliyuncs.com/geekmaster/redis:6.0.6  # 使用的镜像restart: always  # 自动重启策略container_name: geekai-redis  # 容器名称command: redis-server --requirepass 12345678  # Redis 密码volumes:- ./data/redis:/data  # 数据持久化ports:- "6380:6379"  # 主机端口6380映射到容器端口6379# XXL-JOB 管理平台xxl-job-admin:container_name: geekai-xxl-job-admin  # 容器名称image: registry.cn-shenzhen.aliyuncs.com/geekmaster/xxl-job-admin:2.4.0  # 使用的镜像restart: always  # 自动重启策略ports:- "8081:8080"  # 主机端口8081映射到容器端口8080environment:- PARAMS=--spring.config.location=/application.properties  # 配置文件路径volumes:- ./logs/xxl-job:/data/applogs  # 日志持久化- ./conf/xxl-job/application.properties:/application.properties  # 配置文件# Midjourney 代理midjourney-proxy:image: registry.cn-shenzhen.aliyuncs.com/geekmaster/midjourney-proxy:2.6.2  # 使用的镜像container_name: geekai-midjourney-proxy  # 容器名称restart: always  # 自动重启策略ports:- "8082:8080"  # 主机端口8082映射到容器端口8080volumes:- ./conf/mj-proxy:/home/spring/config  # 配置文件# 后端 API 程序geekai-api:image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:v4.0.8-amd64  # 使用的镜像container_name: geekai-api  # 容器名称restart: always  # 自动重启策略depends_on:- geekai-mysql  # 依赖 MySQL 服务- geekai-redis  # 依赖 Redis 服务environment:- DEBUG=false  # 调试模式- LOG_LEVEL=info  # 日志级别- CONFIG_FILE=config.toml  # 配置文件ports:- "5678:5678"  # 主机端口5678映射到容器端口5678- "9999:9999"  # 主机端口9999映射到容器端口9999volumes:- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime  # 时区设置- ./conf/config.toml:/var/www/app/config.toml  # 配置文件- ./logs/app:/var/www/app/logs  # 日志持久化- ./static:/var/www/app/static  # 静态文件- ./data/leveldb:/var/www/app/data  # 数据持久化# 前端应用geekai-web:image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-web:v4.0.8-amd64  # 使用的镜像container_name: geekai-web  # 容器名称restart: always  # 自动重启策略depends_on:- geekai-api  # 依赖 API 服务ports:- "8080:8080"  # 主机端口8080映射到容器端口8080volumes:- ./logs/nginx:/var/log/nginx  # Nginx 日志持久化- ./conf/nginx/conf.d:/etc/nginx/conf.d  # Nginx 配置目录- ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf  # Nginx 主配置文件- ./conf/nginx/ssl:/etc/nginx/ssl  # Nginx SSL 证书目录

如果你想启用热部署以便每次修改代码后自动重启 API 服务,可以使用 fresh 工具。下面是如何安装和配置 fresh 工具的步骤:

安装 fresh

  1. 安装 Go (如果还没安装)
    确保你已经安装了 Go 语言环境。可以从 Go 官方网站 下载并安装。

  2. 安装 fresh
    打开终端并运行以下命令来安装 fresh

    go install github.com/gravityblast/fresh@latest
    

    这将会把 fresh 安装到 $GOPATH/bin 目录下。确保这个目录在你的系统 PATH 中。

配置 fresh

  1. 创建配置文件
    在你的项目根目录下创建一个 fresh 配置文件(fresh.toml),内容示例如下:

    [watch]
    # 监视文件的模式
    watch = ["./"][build]
    # 构建时排除的路径
    exclude = ["vendor", "test"]
    
  2. 使用 fresh 启动服务
    在项目根目录下运行以下命令以启动 fresh 并监视文件变动:

    fresh
    

    fresh 会启动你的应用并持续监视代码文件的变动,一旦检测到变动就会自动重启服务。

注意事项

  • 确保你的项目配置和依赖正确,否则 fresh 可能无法正常工作。
  • fresh 通常用于开发环境,不建议在生产环境中使用。

通过使用 fresh 工具,你可以更高效地进行开发,不必每次修改后手动重启服务。如果有任何问题或需要进一步的帮助,请随时告诉我!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉(CV)技术的优势和挑战。

计算机视觉(CV)技术在许多领域中具有广泛的应用,并且具有一些优势和挑战。 优势: 1. 高效性:CV技术能够快速处理大量的图像和视频数据,以实现实时的分析和决策。 2. 自动化:CV技术可以自动化地…

CSS的table显示值:布局艺术的幕后推手

CSS的table显示值:布局艺术的幕后推手 摘要 CSS(层叠样式表)是构建网页布局的核心技术之一。display: table;是CSS中一个强大的属性,它允许元素表现得像HTML表格一样。本文将深入探讨table显示值如何影响元素的布局,…

C++ QT 单例模式

在 C 中,使用 Qt 框架实现单例模式可以确保一个类只有一个实例,并提供一个全局访问点。以下是一个简单的 C Qt 单例模式实现示例。 1. 饿汉式单例模式 饿汉式单例模式在类加载时就初始化单例对象。 // MySingleton.h #ifndef MYSINGLETON_H #define M…

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式) 1、kafka命令行脚本创建topic并指定分区和副本2、springboot集成kafka创建topic并指定分区和副本2.1、springboot集成kafka2.1.1、springboot集成kafka创建topic并指定5个分区和…

VScode 连接远程服务器

1、 2、 3、免密登录 1、本地生成密钥 ssh-keygen2、生成的密钥默认在 C:\Users\***\.ssh\ 中3、将私钥 C:\Users\***\.ssh\id_rsa 添加到上面的配置文件中的 IdentityFile 项内4、将公钥 C:\Users\***\.ssh\id_rsa\id_rsa.pub 拷贝到远程 ~/.ssh/authorized_keys 中 4、远程…

【精选】基于django柚子校园影院(咨询+解答+辅导)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

Golang | Leetcode Golang题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; func getSum(a, b int) int {for b ! 0 {carry : uint(a&b) << 1a ^ bb int(carry)}return a }

python | Python集成学习和随机森林算法

本文来源公众号“python”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Python集成学习和随机森林算法 集成学习是一种通过组合多个模型来提高预测性能的机器学习方法。它通过将多个弱学习器的结果结合起来&#xff0c;形成一个…

音频信号编解码原理及在视频制作中的应用

目录 音频编码与解码概述 常见的音频编码格式 无损与有损编解码器的区别 视频制作中音频编解码器的选择 音频编解码器对延迟和实时传输的影响 结论 音频编码与解码概述 音频编码是指将原始音频数据转换成一种更高效、更紧凑的格式的过程&#xff0c;目的是为了减少存储空…

【算法学习笔记】29:动态规划中可丢弃状态的维度压缩

1 动机 当状态 i i i只依赖于前置状态 i − 1 i - 1 i−1&#xff0c;并且在计算出状态 i i i之后就可以丢弃状态 i − 1 i - 1 i−1时的解时&#xff0c; i − 1 i - 1 i−1就成为一个可丢弃的状态&#xff0c;因此就可以将 i i i这个维度直接压缩&#xff08;省略&#xff0…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

SmartGit-Git版本控制系统的图形化客户端

SmartGit&#xff1a; SmartGit是一款免费的、专业的Git版本控制系统的图形化客户端。它适用于Windows、Mac和Linux等多种操作系统&#xff0c;提供了直观的用户界面和丰富的功能。支持创建、克隆、推送、拉取、合并和管理Git仓库&#xff0c;以及强大的分支管理功能。还提供了…

(免费领源码)python#Django#msyql学生个性化培养的教学资源平台的设计与实现19385-计算机毕业设计项目选题推荐

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对学生个性化培养的教学资源平台等问题&#…

动态因子模型

动态因子模型(Dynamic Factor Model, DFM)是一种用于分析高维时间序列数据的方法,它能够从多个观测变量中提取出少数几个潜在的共同因子,这些因子解释了观测变量的主要变动。这在经济学、金融学等领域尤其有用,因为它可以简化数据结构,将多个复杂的经济指标整合为少数几个…

Redis(面试篇)

目录 什么是Redis&#xff1f; Redis有哪些优缺点 Redis为什么这么快 Redis有哪些数据类型 Redis的应用场景 持久化 什么是事务&#xff1f; 如何保证缓存与数据库双写时的数据一致性&#xff1f; Redis有哪些功能 什么是缓存穿透&#xff1f;这么解决&#xff1f; …

进制转换计算幸运数出现次数(华为od机考题)

一、题目 1.原题 有位客人来自异国&#xff0c;在该国使用m进制计数。 该客人有个幸运数字n(n<m)&#xff0c;每次购物时&#xff0c; 其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。 问&#xff1a;当其购买一个在我国价值k的产品时&#xff0c;…

【jvm】虚拟机栈是如何运行的

目录 1. 说明2. 栈的创建与线程绑定3. 栈帧的结构4. 栈帧的入栈与出栈5. 异常处理 1. 说明 1.虚拟机栈是Java程序运行时环境中的一个重要组成部分&#xff0c;它主要负责存储线程执行方法时的局部变量、操作数栈、动态链接、方法出口等信息。2.JVM虚拟机栈是Java程序运行时环境…

UE管理内容 —— FBX Asset Metadata Pipeline

随着实时3D制作大小和复杂程度的增加&#xff0c;以及构成现代制作流程的工具数量的不断增加&#xff0c;增加智能自动化来提高美术效率变得越发重要&#xff1b;这种智能自动化通常主要依靠元数据&#xff1a;有关资源的自定义数据&#xff0c;在项目中为资源赋予意义&#xf…

【Nginx】快速入门

概述 Nginx(engine x)是一个高性能的HTTP和反向代理web服务器。 特点是占有内存小&#xff0c;并发能力强&#xff0c;简单易配置&#xff0c;支持高达 50000 个并发连接数的响应。 作用 代理 正向代理&#xff1a; 反向代理&#xff1a; 负载均衡 Nginx提供的负载均衡策…

8.4 数据库基础技术-SQL

大数据 SQL语言 真题 1