微信公号嵌入网站开发,浅谈博星卓越网站建设,做网站需要后端吗,设计网站首页1比如这里把文件放到/xin/docker/jiaoZ/的目录下#xff0c;jar包和下面的配置文件都放在这个文件夹下。
注意要把jar端口改为你实际启动的#xff0c;映射端口也可以改为你想要的。
这里的映射端口为#xff1a;nginx监听80端口#xff0c;jar在8620端口#xff0c;mysq…比如这里把文件放到/xin/docker/jiaoZ/的目录下jar包和下面的配置文件都放在这个文件夹下。
注意要把jar端口改为你实际启动的映射端口也可以改为你想要的。
这里的映射端口为nginx监听80端口jar在8620端口mysql在3306端口redis在6379端口。
Dockerfile
如果这里不安装字体若依登录时的验证码会显示不出来
# 使用适合Oracle JDK 8的基础镜像
FROM openjdk:8-jdk# 安装字体
RUN apt-get update apt-get install -y \fontconfig \fonts-dejavu \xfonts-100dpi \ rm -rf /var/lib/apt/lists/*# 确保/app目录存在
RUN mkdir -p /app# 添加jar包到容器
ADD wms-productV3.0.jar /app/wms-productV3.0.jar# 设置工作目录
WORKDIR /app# 设置环境变量如有需要
# ENV ...# 开放8620端口
EXPOSE 8620# 运行jar包
CMD [java, -jar, wms-productV3.0.jar]docker-compose.yml
version: 3.8 # 指定 Docker Compose 文件版本services: # 定义应用程序由哪些服务组成mysql: # MySQL 数据库服务image: mysql:8 # MySQL 服务使用的 Docker 镜像environment: # 传递给容器的环境变量MYSQL_ROOT_PASSWORD: root # 设置 MySQL 的 root 密码MYSQL_DATABASE: jung_wms # 创建名为 jung_wms 的数据库command: --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci --default-authentication-pluginmysql_native_password # MySQL 服务器配置volumes: # 将主机路径或命名卷挂载到容器中- ./mysql:/var/lib/mysql # 将 MySQL 数据持久化到主机目录- ./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql:ro # 使用 SQL 脚本初始化数据库- ./my.cnf:/etc/mysql/conf.d/custom.cnf:ro # 自定义 MySQL 配置文件ports:- 3306:3306 # 在主机上公开 MySQL 的 3306 端口redis: # Redis 服务image: redis # Redis 服务使用的 Docker 镜像volumes:- ./redis:/data # 将 Redis 数据持久化到主机目录ports:- 6379:6379 # 在主机上公开 Redis 的 6379 端口nginx: # Nginx 网络服务器服务image: nginx # Nginx 服务使用的 Docker 镜像volumes:- ./nginx:/etc/nginx/conf.d # 将主机的 nginx 配置目录映射到容器中- ./app.conf:/etc/nginx/conf.d/app.conf:ro # 特定的 Nginx 应用配置文件- /xin/docker/jiaoZ/dist:/usr/share/nginx/html # 将主机的前端文件映射到 Nginx 容器中ports:- 80:80 # 在主机上公开 Nginx 的 80 端口app: # 应用服务build: # 构建 Docker 镜像的配置context: . # Docker 构建上下文目录dockerfile: Dockerfile # Dockerfile 文件名volumes:- ./app:/app # 应用源代码卷- ./wms-productV3.0.jar:/app/wms-productV3.0.jar:ro # 特定的应用 JAR 文件ports:- 8620:8620 # 在主机上公开应用的 8620 端口depends_on: # 指定服务之间的依赖关系- mysql- redisapp.conf
server {listen 80;location / {root /usr/share/nginx/html;index index.html index.htm;try_files $uri $uri/ /index.html;}location /ars/ { # 确保这里有结束的斜杠proxy_pass http://app:8620/; # 这会将匹配到的/ars/替换为这里的斜杠/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;}
}my.cnf
关闭lmysql区分表名大小写。
[mysqld]
lower_case_table_names1
mysql-init.sql
初始化的sql比如这里创建jung_wms数据库
CREATE DATABASE IF NOT EXISTS jung_wms;启动程序
docker-compose up --build 发现启动后因为app.jar启动的慢nginx启动的快所以nginx访问app时就访问不到异常退出了所以等jar包启动之后手动启动一下nginx就可以了下面是命令。
新开一个窗口运行下面命令名称改为你nginx的。
docker restart jiaoz-nginx-1 完。