基于Docker的软件环境部署脚本,持续更新~

在这里插入图片描述

使用时Ctrl+F搜索你想要的环境,如果没有你想要的环境,可以评论留言,会尽力补充。

本文提供的部署脚本默认参数仅适合开发测试,请根据实际情况调节参数。

数据库

MySQL

version: '3.9'
services:mysql:image: 'mysql:8.0.35'container_name: mysql-serverrestart: alwayscommand: '--default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci'environment:- MYSQL_ROOT_PASSWORD=lY4iQ}8":zK5ports:- "3306:3306"volumes:- 'mysql_data:/var/lib/mysql'deploy:resources:limits:memory: 512Mreservations:memory: 256Mvolumes:mysql_data:

PostgreSQL (PGSQL)

version: '3.9'
services:postgres:image: 'postgres:14'container_name: postgresqlrestart: alwaysenvironment:- POSTGRES_USER=postgres- POSTGRES_PASSWORD=etRu)7E3!#O8ports:- "5432:5432"volumes:- 'postgres_data:/var/lib/postgresql/data'deploy:resources:limits:memory: 512Mvolumes:postgres_data:

SQL Server (MSSQL)

微软官方镜像源

version: '3.9'
services:mssql:image: 'mcr.microsoft.com/mssql/server:2022-latest'restart: alwaysports:- '1433:1433'environment:- MSSQL_SA_PASSWORD=Zu.d8>;8IJ7l- ACCEPT_EULA=Yvolumes:- 'mssql_data:/var/opt/mssql/data'deploy:resources:limits:memory: 2048Mvolumes:mssql_data:

Redis

简易配置

# redis.conf
# 设置最大使用内存为 512MB (默认为全部可用物理内存)
maxmemory 536870912
# 使用 Unix Domain Socket,比 TCP/IP 更快
unixsocket /tmp/redis.sock
# 设置 Redis 服务器监听端口号
port 6379
# 设置 Redis 所使用的数据库数量,默认为 16 个
databases 16
# 不限制访问来源
bind 0.0.0.0
# 设置 Redis 密码
requirepass 8*%u3Td#oV!yD9L7

docker-compose

version: '3.9'
services:redis:command: 'redis-server /etc/redis/redis.conf'image: 'redis:7.2.3-alpine'container_name: redisvolumes:- 'redis_data:/data/redis'- './conf/redis.conf:/etc/redis/redis.conf'ports:- '6379:6379'restart: alwaystty: truestdin_open: truedeploy:resources:limits:memory: 512Mvolumes:redis_data:

Elasticsearch (es)

配置文件

# elasticsearch.yml
cluster.name: es
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300

docker-compose

version: '3.9'
services:elasticsearch:image: 'elasticsearch:7.17.3'container_name: elasticsearchulimits:nproc: 65535nofile:soft: 65535hard: 65535cap_add:- IPC_LOCKmem_limit: 1genvironment:- discovery.type=single-nodevolumes:- 'es_data:/usr/share/elasticsearch/data'- './config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml'ports:- '9200:9200'- '9300:9300'deploy:resources:limits:memory: 512Mvolumes:es_data:

消息队列

RabbitMQ

version: '3'
services:mq:image: 'rabbitmq:3.9-management'container_name: rabbitmqhostname: rabbitmqports:- "5672:5672"- "15672:15672"volumes:- 'rabbitmq_data:/var/lib/rabbitmq'environment:- RABBITMQ_DEFAULT_USER=guest- RABBITMQ_DEFAULT_PASS=guestdeploy:resources:limits:memory: 512Mvolumes:rabbitmq_data:

RocketMQ

配置文件

version: '3.9'
services:# https://hub.docker.com/r/xuchengen/rocketmq# 注意修改项;# 01:data/rocketmq/conf/broker.conf 添加 brokerIP1=127.0.0.1# 02:data/console/config/application.properties server.port=9009 - 如果8080端口被占用,可以修改或者添加映射端口rocketmq:image: livinphp/rocketmq:5.1.0container_name: rocketmqports:- 8080:8080- 9876:9876- 10909:10909- 10911:10911- 10912:10912volumes:- ./data:/home/app/dataenvironment:TZ: "Asia/Shanghai"NAMESRV_ADDR: "rocketmq:9876"

对象存储

MinIO

version: '3.9'
services:minio:command: 'server /data --console-address ":9001"'restart: alwaysimage: quay.io/minio/miniocontainer_name: minioenvironment:- MINIO_ROOT_USER=minio- MINIO_ROOT_PASSWORD=miniopwdvolumes:- 'minio_data:/data'ports:- '9001:9001'- '9000:9000'deploy:resources:limits:memory: 512Mvolumes:minio_data:

Spring Cloud Alibaba

Nacos

version: '3.9'
services:nacos:image: nacos/nacos-server:v2.2.0-slimcontainer_name: nacosports:- "8848:8848"environment:- PREFER_HOST_MODE=hostname- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_DB_NAME=nacos_config- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=passworddeploy:resources:limits:memory: 1024Mdepends_on:- mysqlmysql:image: mysql:5.7container_name: mysqlports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=password- MYSQL_DATABASE=nacos_configvolumes:- 'mysql_data:/var/lib/mysql'deploy:resources:limits:memory: 256Mvolumes:mysql_data:

使用自建数据库将mysql模块删除,并将Nacos数据库连接信息替换成目标数据库说明:

说明

  • 使用 nacos/nacos-server:v2.2.0-slim 镜像启动 Nacos 服务,v2.2.0-slim可替换为指定版本。
  • 映射容器的 8848 端口到主机的 8848 端口,使其可通过 localhost:8848 访问。
  • 设置了多个环境变量来连接 MySQL 数据库:
    • MODE=standalone:指定 Nacos 以单机模式运行。
    • SPRING_DATASOURCE_PLATFORM=mysql:告诉 Nacos 使用 MySQL 作为数据源。
    • MYSQL_SERVICE_HOST=mysql:指定 MySQL 服务的主机名,这里与 MySQL 服务的容器名称相对应。
    • MYSQL_SERVICE_PORT=3306:MySQL 服务的端口号。
    • MYSQL_SERVICE_DB_NAME=nacos_config:用于存储 Nacos 数据的数据库名称。
    • MYSQL_SERVICE_USER=rootMYSQL_SERVICE_PASSWORD=password:MySQL 的用户名和密码。

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

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

相关文章

win32 WM_MENUSELECT消息学习

之前写了一些win32的程序,处理菜单单击都是处理WM_COMMAND消息,通过 LOWORD(wParam) 获取菜单ID,判断单击的是哪个菜单项; 还有一些其他菜单消息; 当在菜单项中移动光标或鼠标,程序会收到许多WM_MENUSELEC…

JavaScript练习题第(四)部分

大家好关于JavaScript基础知识点已经发布:需要的大家可以去我的主要查看 (当然了有任何不会的,可以私信我!!!!) 为了巩固大家学习知识点给大家准备几道练习题: 当然&…

基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

customized chat GitHub - bigcyy/customized-chatgpt: 基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo 简介 基于ChatGpt,Java,SpringBoot,Vue,Milvus向…

Grafana Loki 配置解析

Grafana Loki 配置文件是一个YML文件,在Grafana Loki 快速尝鲜的示例中是loki-config.yaml,该文件包含关于Loki 服务和各个组件的配置信息。由于配置数量实在太多,没法全部翻译,只能后期有需要了再补充。 如下是Grafana Loki 快速…

网络攻防中应该掌握的进阶工具udp2raw,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS

网络攻防中应该掌握的进阶工具udp2raw,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS。 udp2raw tunnel,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS,或在UDP不稳定的环境下提升稳定性。可以有效防止在使用kcptun或者finalspeed的…

k8s 网络

还没有部署网络。 k8s的网络类型: k8s中的通信模式: 1,pod内部之间容器和容器之间的通信。 在同一个pod中的容器共享资源和网络,使用同一个网络命名空间。可以直接通信的。 2,同一个node节点之内不同pod之间的通信。…

SpringBoot+ShardingSphereJDBC实战(读写分离,分库分表,垂直拆分、水平拆分)附源码

参考:https://www.51cto.com/article/747736.html https://blog.csdn.net/qq_41581588/article/details/126966665 源码地址:gitgitee.com:jackXUYY/springboot-example.git 读写分离测试 我们启用后缀名为dev的配置文件,如下,…

vue3-富文本编辑器(vue-quill)

官网&#xff1a;VueQuill | Rich Text Editor Component for Vue 3 安装 pnpm add vueup/vue-quilllatest 使用 局部使用 先导包 import { QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; 再使用 <QuillEditor theme"snow…

记录使用minikube部署web程序,并灰度发布不同版本

1. 安装软件 1.1安装docker desktop 下载地址 重点&#xff1a;配置镜像加速 1.2 安装k8s&minikube 这里参考阿里社区的配置 minikube1.24.0版本下载地址 重点&#xff1a;安装版本问题【因为后面要用阿里云的服务来获取所需Docker镜像&#xff0c;一直不成功使用的高版…

听GPT 讲Rust源代码--src/tools(28)

File: rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 文件路径 rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 中的作用是定义了 IdentityOp 类型的 Clippy lint 规则&#xff0c;用于检查代码中是否存在不必要的恒等操作符&#xff0…

庙算兵棋推演AI开发初探(2-编写策略(上))

开始研读step()函数的编写方法。 这个是图灵网提供了一些基础的ai代码下载&#xff08;浏览需要注册&#xff0c;下载需要审批&#xff09;。 AI开发中心-人机对抗智能 (ia.ac.cn)http://turingai.ia.ac.cn/ai_center/show 一、代码研读(BaseAgent类) 1.step函数 这段代码定…

传感器基础:传感器使用与编程使用(三)

目录 常用传感器讲解九--雨滴传感器具体讲解电路连接代码实现 常用传感器讲解十--光传感器根据亮度安排灯具体讲解电路连接代码实现 常用传感器讲解七--light cup&#xff08;KY-008&#xff09;具体讲解电路连接代码实现 常用传感器讲解十二--倾斜开关传感器&#xff08;KY-02…