前后端分离项目的简易docker容器化部署

前端使用nginx部署,后端使用springboot mysql
application.yml

spring:
  profiles:
    active: prod
  application:
    name: HotelManger
mybatis-plus:
  mapper-locations: classpath:/com/yan/*.xml
  type-aliases-package: com.yan.entity

application-prod.yml

server:
  port: 8888
spring:
  datasource:
    username: root
    password: root1234
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3306/hotelsys?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&failOverReadOnly=false
    driver-class-name: com.mysql.cj.jdbc.Driver
  redis:
    host: 192.168.83.100
    port: 6380
    database: 1
logging:
  level:
    root: warn
isStartRedis: 0

下载好mysql数据库,jdk,nginx镜像

数据库在项目中使用8版本 java项目也是基于jdk11构建的
在这里插入图片描述

开启数据库

docker run -d --name hotelManger-mysql -p 3307:3306
 -v:~/back/hotelManger/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root1234 0ca

在这里插入图片描述
开放端口3307
navicat 连接
在这里插入图片描述
将测试时的库表转储sql文件 按照yml中的数据库名字 创建数据库 运行sql文件

创建docker网络

docker network create hotel
数据库加入网络
docker network connect 450 b5 #网络id 容器id

通过 docker network inspect 450 查看数据库在容器网络地址,将yml文件中的地址进行设置

在这里插入图片描述

java部分

   <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.4</version>
            </plugin>
        </plugins>
    </build>

跳过测试 clear清理 用package打成jar包

在这里插入图片描述
传入服务器

编写dockerfile文件

FROM openjdk:11-jdk
ENV APP_PATH=/hotel
WORKDIR $APP_PATH
ADD ./hotelsys-1.0-SNAPSHOT.jar /$APP_PATH/apps.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar"]
CMD ["apps.jar"]
                 

构建镜像

docker build -t hotelmanger:0.1 .

最后 运行镜像 将容器加入网络 开放对应端口测试在这里插入图片描述
windows主机访问成功
前端vue部署
前端访问的地址,要是对外暴露的

vue项目终端

npm run build

在这里插入图片描述

最后在项目dist目录生成单页面应用(该页面只能在服务器中运行)
在这里插入图片描述

将dist包导出到服务器 将里面内容 通过docker数据卷方式 传入nginx容器内

 docker run -p 80:80 --name hotelmanger-nginx -v ~/hotelMang/dist:/usr/share/nginx/html  8f34c303855f

部署成功 通过80端口即可访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值