当前位置: 首页 > 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"

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 10道JVM经典面试题
  • 时间序列预测 — — ARIMA模型(理论分析与代码详解)
  • lua 写一个 不同时区之间转换日期和时间 函数
  • qt 如何制作动态库插件
  • SSH不用每次都输入密码的方法
  • Angular由一个bug说起之八:实践中遇到的一个数据颗粒度的问题
  • Python机器学习实战:分类算法K近邻
  • Neuron协议网关的北向应用插件开发
  • mysql之视图的创建以及查询;
  • uboot的mmc partconf命令
  • 谷粒商城实战笔记-56~57-商品服务-API-三级分类-修改-拖拽功能完成
  • 前端Vue项目中腾讯地图SDK集成:经纬度与地址信息解析的实践
  • GD32 MCU电源复位和系统复位有什么区别
  • FastGPT 源码调试配置
  • mesa LLVMpipe ORCJIT 上游化:一场历时两年的后端合并马拉松,幕后英雄竟是 TA!
  • [译]Python中的类属性与实例属性的区别
  • 2017-08-04 前端日报
  • C++入门教程(10):for 语句
  • k8s如何管理Pod
  • Logstash 参考指南(目录)
  • mysql常用命令汇总
  • node和express搭建代理服务器(源码)
  • oldjun 检测网站的经验
  • Sequelize 中文文档 v4 - Getting started - 入门
  • spark本地环境的搭建到运行第一个spark程序
  • 时间复杂度与空间复杂度分析
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 怎样选择前端框架
  • ​ssh免密码登录设置及问题总结
  • ### RabbitMQ五种工作模式:
  • #{} 和 ${}区别
  • #includecmath
  • #微信小程序:微信小程序常见的配置传旨
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (Java数据结构)ArrayList
  • (Note)C++中的继承方式
  • (笔试题)分解质因式
  • (七)Flink Watermark
  • (七)理解angular中的module和injector,即依赖注入
  • (算法)Travel Information Center
  • (学习日记)2024.01.09
  • (一) 初入MySQL 【认识和部署】
  • (一)UDP基本编程步骤
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .mysql secret在哪_MySQL如何使用索引
  • .net core 6 redis操作类
  • .net core 6 集成和使用 mongodb
  • .net mvc部分视图
  • .NET 设计模式初探
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net各种迷惑命名解释
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually