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

docker部署nginx+nacos+redis+java镜像和容器

  1. nginx镜像制作

    Dockerfile内容:

    # 基础镜像
    FROM nginx
    # author
    MAINTAINER ruoyi
    
    # 挂载目录
    VOLUME /home/ruoyi/projects/ruoyi-ui
    # 创建目录
    RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
    # 指定路径
    WORKDIR /home/ruoyi/projects/ruoyi-ui
    # 复制conf文件到路径
    COPY ./conf/nginx.conf /etc/nginx/nginx.conf
    # 复制html文件到路径
    COPY ./html/dist /home/ruoyi/projects/ruoyi-ui

    nginx.conf

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   /home/ruoyi/projects/ruoyi-ui;
                try_files $uri $uri/ /index.html;
                index  index.html index.htm;
            }
    
            location /prod-api/{
                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://ruoyi-gateway:8080/;
            }
    
            # 避免actuator暴露
            if ($request_uri ~ "/actuator") {
                return 403;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }

  2. nacos镜像制作

application.properties 

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ruoyi-mysql:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password

nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000

management.endpoints.web.exposure.include=*

management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false

server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i

server.tomcat.basedir=/home/ruoyi/nacos/tomcat/logs

nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**

nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security

nacos.istio.mcp.server.enabled=false

 Dockerfile文件:

# 基础镜像
FROM nacos/nacos-server
# author
MAINTAINER ruoyi

# 复制conf文件到路径
COPY ./conf/application.properties /home/nacos/conf/application.properties

3 redis

Dockerfile:

# 基础镜像
FROM redis
# author
MAINTAINER ruoyi

# 挂载目录
VOLUME /home/ruoyi/redis
# 创建目录
RUN mkdir -p /home/ruoyi/redis
# 指定路径
WORKDIR /home/ruoyi/redis
# 复制conf文件到路径
COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf

 redis.conf:

requirepass 123456

4 java jar服务部署

Dockerfile内容:

# 基础镜像
FROM  openjdk:8-jre
# author
MAINTAINER ruoyi

# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-auth.jar /home/ruoyi/ruoyi-auth.jar
# 启动认证服务
ENTRYPOINT ["java","-jar","ruoyi-auth.jar"]

 


http://www.kler.cn/a/375955.html

相关文章:

  • Selective Generation for Language Models 语言模型的选择性生成
  • Rust整合Elasticsearch
  • LeetCode 3226.使两个整数相等的位更改次数:位运算(接近O(1)的做法)
  • Git 的特殊配置文件
  • Golang | Leetcode Golang题解之第525题连续数组
  • 【果蔬识别】Python+卷积神经网络算法+深度学习+人工智能+机器学习+TensorFlow+计算机课设项目+算法模型
  • 软考(中级-软件设计师)计算机网络篇(1101)
  • Vue3中Element Plus==el-eialog弹框中的input无法获取表单焦点
  • GAN在AIGC中的应用
  • Java版企电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
  • 【MATLAB代码】基于IMM(Interacting Multiple Model)算法的目标跟踪,所用模型:CV、CA、CT
  • Python 基础知识(基础操作内容)
  • 2024 Rust现代实用教程 流程控制与函数
  • 袁庭新陕西理工大学演讲——AIGC时代面临的机遇与挑战
  • 《机器学习by周志华》学习笔记-神经网络-04全局最小误差与局部极小误差
  • 数学建模学习(132):使用Python基于Fuzzy VIKOR的多准则决策分析
  • 大舍传媒:海外发稿的卓越选择——老挝新闻网报道及海外媒体发布服务
  • Apache HTTPD多后缀解析漏洞
  • 2022 NOIP 题解
  • 大模型面试题全面总结:每一道都是硬核挑战
  • C++进阶:封装红黑树实现map和set
  • 手机怎么玩尖塔杀戮?远程玩尖塔杀戮教程
  • C语言原码、反码和补码的详解
  • Vue 如何自定义组件:从入门到精通
  • 【保姆级教程】Linux服务器本地部署Trilium+Notes笔记结合内网穿透远程在线协作
  • 搞人工智能开源大语言模型GPT2、Llama的正确姿势