当前位置: 首页 > news >正文

DockerCompose 安装环境

1. Redis

version: '3'
services:redis:image: redis:6.2.12container_name: redisports:- "6379:6379"environment:TZ: Asia/Shanghaivolumes:# 本地数据目录要先执行 chmod 777 /usr/local/docker/redis/data 赋予读写权限,否则将无法写入数据- /usr/local/docker/redis/conf:/redis/config:rw- /usr/local/docker/redis/data/:/redis/data/:rwcommand: ["redis-server", "/redis/config/redis.conf"]# 容器开机自启restart: always# 获取宿主机 root 权限privileged: true# 设置容器网络为本机网络network_mode: "host"

2. Mysql

version: '3'
services:mysql:image: mysql:8.0.33container_name: mysqlenvironment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: rootports:- "3306:3306"volumes:# 数据挂载- /usr/local/docker/mysql/data/:/var/lib/mysql/# 配置挂载- /usr/local/docker/mysql/conf/:/etc/mysql/conf.d/command:# 将 mysql8.0 默认密码策略修改为原先策略 (mysql8.0对其默认策略做了更改,会导致密码无法匹配)--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--explicit_defaults_for_timestamp=true--lower_case_table_names=1privileged: truenetwork_mode: "host"

3. Nginx

version: '3'
services:nginx:image: nginx:1.23.4container_name: nginx-webenvironment:TZ: Asia/Shanghaiports:- "80:80"- "443:443"volumes:# 配置文件映射- /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf# 页面目录- /usr/local/docker/nginx/html:/usr/share/nginx/html# 日志目录- /usr/local/docker/nginx/log:/var/log/nginxprivileged: truenetwork_mode: "host"

nginx.conf

# 工作进程数,通常设为 CPU 核心数
worker_processes 1;# 错误日志路径
error_log /var/log/nginx/error.log warn;# 存放 nginx 进程ID 的文件
pid /var/run/nginx.pid;# 设置每个 worker 进程的最大连接数为1024
events {worker_connections 1024;
}http {# 文件扩展名与文件类型映射表include /etc/nginx/mime.types;# 默认文件类型default_type application/octet-stream;# 开启高效文件传输模式sendfile on;# 连接保持超时时间keepalive_timeout 65;# 限制 body 大小client_max_body_size 100m;# 日志格式log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 访问日志路径及格式access_log var/log/nginx/access.log main;# 定义一个服务器组,配置负载均衡策略upstream server {ip_hash;server 192.168.1.1:8080;server 192.168.1.2:8080;server 192.168.1.3:8080;}# 配置 admin 服务,没有删除此配置upstream cnbai-admin {server 192.168.1.1:8888;}# 配置 web 服务,没有删除此配置upstream cnbai-web {ip_hash;server 192.168.1.1:9999;server 192.168.1.2:9999;}# 配置虚拟主机server {# 监听端口listen 80;# 服务器名称,可以是域名或IPserver_name localhost;# 配置前端映射location / {# docker映射路径root /usr/share/nginx/html;# 文件校验不存在就前往首页try_files $uri $uri/ /index.html;index index.html index.htm;}# 配置后端映射location /api/ {proxy_pass http://server/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# websocket 参数,没有删除此配置proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}# 配置 admin 映射,没有删除此配置location /admin/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://cnbai-admin/admin/;}# 配置 web 映射,没有删除此配置location /web/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://cnbai-web/web/;}# 配置后端虚拟路径映射,没有删除此配置location /upload/ {proxy_pass http://server/upload/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}# 自定义404页面error_page 404 /404.html; location = /40x.html {}# 自定义50x错误页面error_page 500 502 503 504 /50x.html; location = /50x.html {}}
}

4. Minio

version: '3'
services:minio:image: minio/minio:RELEASE.2023-04-13T03-08-07Zcontainer_name: minioports:# api 端口- "9000:9000"# 控制台端口- "9001:9001"environment:TZ: Asia/Shanghai# 管理后台用户名MINIO_ROOT_USER: cnbai# 管理后台密码,最小8个字符MINIO_ROOT_PASSWORD: 12345678# https需要指定域名# MINIO_SERVER_URL: "https://xxx.com:9000"# MINIO_BROWSER_REDIRECT_URL: "https://xxx.com:9001"# 开启压缩 on 开启 off 关闭MINIO_COMPRESS: "off"# 扩展名 .pdf,.doc 为空 所有类型均压缩MINIO_COMPRESS_EXTENSIONS: ""# mime 类型 application/pdf 为空 所有类型均压缩MINIO_COMPRESS_MIME_TYPES: ""volumes:# 映射文件目录- /usr/local/docker/minio/data:/data# 映射配置目录- /usr/local/docker/minio/config:/root/.minio/# 指定容器中的目录 /datacommand: server --address ':9000' --console-address ':9001' /dataprivileged: truenetwork_mode: "host"

5. Jar 服务

version: '3'
services:app:image: app:1.0container_name: appenvironment:TZ: Asia/ShanghaiSERVER_PORT: 8080volumes:- /usr/local/docker/app/logs/:/app/logs/- /usr/local/docker/app/config/:/app/config/restart: alwaysprivileged: truenetwork_mode: "host"cnbai-admin:image: cnbai-admin:1.0container_name: cnbai-adminenvironment:TZ: Asia/ShanghaiSERVER_PORT: 8888volumes:- /usr/local/docker/admin/logs/:/admin/logs/- /usr/local/docker/admin/config/:/admin/config/restart: alwaysprivileged: truenetwork_mode: "host"cnbai-web:image: cnbai-web:1.0container_name: cnbai-webenvironment:TZ: Asia/ShanghaiSERVER_PORT: 9999volumes:- /usr/local/docker/web/logs/:/web/logs/- /usr/local/docker/web/config/:/web/config/restart: alwaysprivileged: truenetwork_mode: "host"
http://www.lryc.cn/news/406177.html

相关文章:

  • 学习笔记之JAVA篇(0724)
  • 【Android】广播机制
  • 【.NET全栈】ASP.NET开发Web应用——ASP.NET数据绑定技术
  • MySQL的账户管理
  • FastGPT 源码调试配置
  • SQL Server数据迁移新纪元:数据库数据泵(Data Pump)使用指南
  • Android性能优化之OOM
  • 代码随想录算法训练营day7 | 454.四数相加II、383.赎金信、15.三数之和、18.四数之和
  • Spark实时(三):Structured Streaming入门案例
  • 《Java初阶数据结构》----4.<线性表---Stack栈和Queue队列>
  • Android SurfaceFlinger——关联EGL三要素(二十七)
  • Unity3D之TCP网络通信(客户端)
  • Kotlin 中 标准库函数
  • 【教学类-69-01】20240721铠甲勇士扑克牌(随机14个数字+字母)涂色(男孩篇)
  • Adobe“加速”创意人士开启设计新篇章
  • 释疑 803-(1)概述 精炼提纯版
  • 人工智能与机器学习原理精解【6】
  • JDK、JRE、JVM之间的关系
  • redis构建集群时,一直Waiting for the cluster to join
  • C++之类与对象(2)
  • 「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树
  • ubuntu那些ppa源在哪
  • 20240724-然后用idea创建一个Java项目/配置maven环境/本地仓储配置
  • PaddleOCR-PP-OCRv4推理详解及部署实现(下)
  • 【Golang 面试基础题】每日 5 题(二)
  • 状态模式与订单状态机的实现
  • 【MSP430】MSP430是什么?与STM32对比哪个性能更佳?
  • Win11 操作(四)g502鼠标连接电脑不亮灯无反应
  • 自定义QDialog使用详解
  • Pytorch使用教学2-Tensor的维度