箍啊箍
发布于 2025-11-28 / 1 阅读
0
0

Docker应用列表

frps compose:

version: "3"

services:
  minio:
    image: snowdreamtech/frpc:latest
    container_name: frpc
    restart: always
    user: "0:0"
    deploy:
      resources:
        limits:
          cpus: '1'   # 数据库需要更多计算资源
          memory: 1G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./frpc.toml:/etc/frp/frpc.toml
    environment:
      - TZ=Asia/Shanghai
networks:
  bridge:

frps配置

bindPort = 7000
vhostHTTPPort = 80

# 设置认证信息
auth.method = "token"
auth.token = "*"

# 开始控制台
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin"

frpc配置端口映射

serverAddr = "121.41.xxx.xxx"
serverPort = 7000
auth.method = "token"
auth.token = "xxxx"

[[proxies]]
name = "dify-web"
type = "http"
localIP = "192.168.1.128"
localPort = 8081
customDomains = ["dify.xxx.cn"]

[[proxies]]
name = "forum-web"
type = "http"
localIP = "192.168.1.121"
localPort = 8090
customDomains = ["forum.xxx.cn"]

[[proxies]]
name = "os-service"
type = "http"
localIP = "192.168.1.121"
localPort = 9000
customDomains = ["zos.xxx.cn"]


[[proxies]]
name = "mysql8-1"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30200
remotePort = 30200 

[[proxies]]
name = "mysql8-2"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30201
remotePort = 30201 

[[proxies]]
name = "nacos2.5.1-1"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30300
remotePort = 30300

[[proxies]]
name = "rancher-1"
type = "tcp"
localIP = "192.168.1.121"
localPort = 30443
remotePort = 30443


[[proxies]]
name = "postgresql"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30500
remotePort = 30500

Halo部署:

version: "3"

services:
  halo:
    image: halohub/halo:2.21
    restart: always
    depends_on:
      halodb:
        condition: service_healthy
    deploy:
      resources:
        limits:
          cpus: '1'   # 数据库需要更多计算资源
          memory: 2G    # 最大内存
    networks:
      halo_network:
    volumes:
      - ./halo2:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s          
    command:
      - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:15.4
    restart: always
    deploy:
      resources:
        limits:
          cpus: '0.5'   # 数据库需要更多计算资源
          memory: 1G    # 最大内存
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
      # 默认没有设置端口映射,如果需要在容器外部访问数据库,可以添加端口为 5432(默认)
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:

rocketmq Compose配置

version: '3.8'
services:
  namesrv:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq:5.3.3
    container_name: rmqnamesrv
    user: "0:0"
    restart: always
    ports:
      - "9876:9876"
    volumes:
      - ./data/namesrv/logs:/home/rocketmq/logs
      - ./data/namesrv/store:/home/rocketmq/store
    networks:
      - rocketmq-net
    command: sh mqnamesrv

  broker:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq:5.3.3
    container_name: rmqbroker
    user: "0:0"
    restart: always
    ports:
      - "10909:10909"
      - "10911:10911"
      - "10912:10912"
      - "8080:8080"
      - "8081:8081"
    volumes:
      - ./data/broker/logs:/home/rocketmq/logs
      - ./data/broker/store:/home/rocketmq/store
      - ./data/broker/broker.conf:/home/rocketmq/rocketmq-5.3.3/conf/broker.conf
    environment:
      - NAMESRV_ADDR=namesrv:9876
    networks:
      - rocketmq-net
    depends_on:
      - namesrv
    command: sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.3.3/conf/broker.conf

  dashboard:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq-dashboard:2.1.0
    container_name: rmq-dashboard
    user: "0:0"
    restart: always
    ports:
      - "20330:8082"
    environment:
      - JAVA_OPTS= -Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
    networks:
      - rocketmq-net
    depends_on:
      - namesrv

networks:
  rocketmq-net:
    driver: bridge

rocketmq broker的broker.conf配置

namesrvAddr=rocketmq-namesrv-1:9876
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH

# 设置broker节点所在服务器的ip地址,线上可用内网,如果和服务器同一局域网,开发本地配ip映射外网
brokerIP1 = 192.168.1.xxx
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
#自动创建topic
autoCreateTopicEnable = true
traceTopicEnable=true
autoCreateSubscriptionGroup=true
waitTimeMillsInSendQueue=3000
tlsTestModeEnable = false

# 设置broker对外可访问端口
listenPort=30413

mysql8部署

version: "3"

services:
  mysql8-1:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/mysql:8.4.7
    restart: always
    user: "1000:10" 
    deploy:
      resources:
        limits:
          cpus: '2'   # 数据库需要更多计算资源
          memory: 4G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./data:/var/lib/mysql/
    ports:
      - "20200:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=mysql8
      - TZ=Asia/Shanghai 
  mysql8-2:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/mysql:8.4.7
    restart: always
    user: "1000:10" 
    deploy:
      resources:
        limits:
          cpus: '2'   # 数据库需要更多计算资源
          memory: 4G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./data2:/var/lib/mysql/
    ports:
      - "20201:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=mysql8
      - TZ=Asia/Shanghai 
networks:
  bridge:

redis6部署

version: "3"

services:
  redis6-1:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/redis:6
    restart: always
    user: "1000:10" 
    deploy:
      resources:
        limits:
          cpus: '1'   # 数据库需要更多计算资源
          memory: 2G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./data:/data
    ports:
      - "20100:6379"
    environment:
      - REDIS_PASSWORD=redis6
      - TZ=Asia/Shanghai 
    command: redis-server --save 300 1 --save 180 100 --save 60 10000 --loglevel warning --appendonly yes --appendfsync everysec --appendfilename appendonly.aof
  redis6-2:
    image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/redis:6
    restart: always
    user: "1000:10" 
    deploy:
      resources:
        limits:
          cpus: '1'   # 数据库需要更多计算资源
          memory: 2G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./data2:/data
    ports:
      - "20101:6379"
    environment:
      - REDIS_PASSWORD=redis6
      - TZ=Asia/Shanghai 
    command: redis-server --save 300 1 --save 180 100 --save 60 10000 --loglevel warning --appendonly yes --appendfsync everysec --appendfilename appendonly.aof
networks:
  bridge:

minio部署

version: "3"

services:
  minio:
    image: quay.io/minio/minio
    restart: always
    deploy:
      resources:
        limits:
          cpus: '2'   # 数据库需要更多计算资源
          memory: 4G    # 最大内存
    networks:
      bridge:
    volumes:
      - ./data:/data
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=zhouweiwei331023
      - MINIO_CONSOLE_ADDRESS=:9001
    command: server /data
networks:
  bridge:

halo2部署

version: "3"

services:
  halo:
    image: halohub/halo:2.21
    restart: always
    depends_on:
      halodb:
        condition: service_healthy
    deploy:
      resources:
        limits:
          cpus: '1'   # 数据库需要更多计算资源
          memory: 4G    # 最大内存
    networks:
      halo_network:
    volumes:
      - ./halo2:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s          
    command:
      - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:15.4
    restart: always
    deploy:
      resources:
        limits:
          cpus: '0.5'   # 数据库需要更多计算资源
          memory: 1G    # 最大内存
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
      # 默认没有设置端口映射,如果需要在容器外部访问数据库,可以添加端口为 5432(默认)
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:


评论