docker部署springboot+vue项目

docker部署springboot+vue项目

    • 一 新建docker项目部署目录
    • 二配置项目运行环境
    • 三 运行
    • 四 运行效果
    • 五 项目地址

一 新建docker项目部署目录

如下图所示:
在这里插入图片描述
其中compose目录docker-compose 相关的配置文件;mysql文件夹数据库相关的配置;nginx文件夹配置服务代理
redis文件夹配置redis服务器

二配置项目运行环境

(1)数据库
主要包含三个文件夹,conf(数据软件相关配置),data(数据存储目录),init(数据库数据初始化)
如下图所示:
在这里插入图片描述
(2)redis
主要包含三个文件夹,conf(redis相关配置),data(数据存储目录),log(redis的日志)
在这里插入图片描述
(3)nginx
html前端打包目录,logs(nginx运行日志文件)
在这里插入图片描述
(4)compose
主要包含项目jar,Dockerfile镜像打包文件,docker-compose.yml(docker运行文件)
docker部署springboot+vue项目_第1张图片
docker-compose.yml配置文件如下:

version: "3"
services:
  nginx: #服务名称,用户自定义
    image: nginx:latest #镜像版本
    container_name: nginx
    ports:
    - 80:80 #暴露端口
    restart: always
    volumes: #挂载
    - ../nginx/html:/usr/share/nginx/html
    - ../nginx/nginx.conf:/etc/nginx/nginx.conf
    - ../nginx/logs:/var/log/nginx
    privileged: true #解决nginx的文件调用权限问题
  mysql:
    image: mysql
    container_name: db_mysql
    ports:
    - 3199:3306
    restart: always
    volumes:
      - ../mysql/conf:/etc/mysql/conf.d
      - ../mysql/init:/docker-entrypoint-initdb.d
      - ../mysql/data:/var/lib/mysql
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --default-authentication-plugin=mysql_native_password
    environment: # 指定用户root的密码
      MYSQL_ROOT_PASSWORD: 'admin123'
      MYSQL_DATABASE: 'ajgl'
  redis:
    image: redis:5.0.3
    container_name: db_redis
    ports:
    - 6333:6379
    restart: always
    volumes: #挂载
      - ../redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - ../redis/data:/data:rw
      - ../redis/logs:/logs
    command:  redis-server /usr/local/etc/redis/redis.conf
  ajgl:
    image: ajgl:latest
    build:  # 表示以当前目录下的Dockerfile开始构建镜像
      context: .   #代表上下文当前目录
      dockerfile: Dockerfile #DockerFile的文件名字
    ports:
    - 8060:8060
    restart: always
    volumes: #挂载
      - ../compose/logs:/log/ajgl
    depends_on: # 依赖与mysql、redis,其实可以不填,默认已经表示可以
      - mysql
      - redis

三 运行

docker-compose up

四 运行效果

docker部署springboot+vue项目_第2张图片

五 项目地址

项目地址:gitee项目地址

你可能感兴趣的:(docker,docker,spring,boot,vue.js)