docker一键部署若依前后端分离版本

比如这里把文件放到/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-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_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
      - redis

app.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_names=1

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

完。 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个详细教程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方式进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目: 使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot版本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目的Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细教程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值