docker部署springboot+Vue项目

项目介绍:后台springboot项目,该项目环境mysql、redis 。前台Vue:使用nginx反向代理 

方法一:docker run 手动逐个启动容器

1.docker配置nginx代理

将vue项目打包上传到服务器上。创建文件夹存储数据卷,html存放打包的vue资源,nginx.conf是nginx配置文件数据卷。

nginx配置代理文件(本地的文件和容器中的配置文件形成映射)

 server {listen       80;server_name  localhost;  charset  utf-8;location / {root   /usr/share/nginx/html;   #这里设置动态路由try_files $uri $uri/ @router; 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://152.136.167.51:8383/;}}

启动nginx,指定数据卷映射

docker run -p 81:80 -itd -v /usr/software/demo/nginxdemo/html/:/usr/share/nginx/html/ -v /usr/software/demo/nginxdemo/nginx.conf:/etc/nginx/conf.d/default.conf nginx

2. docker配置mysql

在服务器上的mysql占用了3306端口,而且还是自启动,进程杀不死。(所以我的docker的mysql使用了3307外部端口)

启动docker容器MySQL(使用密码)

docker run -itd --name mysqlTest -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 4f36ba851740

 查看容器信息

docker inspect shaone值或者容器名

mysql -h 172.17.0.3 -u root -p

赋予mysql远程连接的权限 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

使用sqlyog远程连接并导入数据库 

3.dock配置redis 

docker pull redis:latestdocker run -itd --name redis-test -p 6380:6379 redis

4.docker配置自己的springbbot项目

创建dockerfile文件 

创建镜像 

docker build -f dockerfile -t community:1 .

运行容器

docker run -p 8383:8383 -d  14d5ffb6cf85

方法二:dockercompose编排技术部署项目

1.创建dockercompose.yml文件

注意:yml缩进很重要,一不小心就出错,运行前先检查一下

yml格式在线检查

version: "3.0"
services:mysql:image: mysql:5.6.49container_name: comm_mysqlrestart: alwaysports:- 3307:3306environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=community- MYSQL_ROOT_HOST=%networks:- boyatopredis:image: redis:latestcontainer_name: comm_redisports:- 6380:6379networks:- boyatopnginx:image: nginx:latestcontainer_name: comm_nginxrestart: alwaysports:- 81:80volumes:- /usr/software/demo/nginxdemo/html/:/usr/share/nginx/html/- /usr/software/demo/nginxdemo/nginx.conf:/etc/nginx/conf.d/default.confnetworks:- boyatopmycommunity:image: community:1container_name: communityports:- 8383:8383volumes:- /community/upload/face/:/community/upload/face/- /community/upload/excel/:/community/upload/excel/environment:- DATABASE_HOST=mysql- DATABASE_USER=root- DATABASE_PASSWORD=123456- DATABASE_NAME=community- DATABASE_PORT=3307- REDIS_HOST=redis- REDIS_PORT=6380depends_on:- mysql- redisnetworks:- boyatop
networks:boyatop: null

2.运行 

docker-compose -f dockercompose.yml up -d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/689891.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习周报第41周

目录 摘要Abstract一、文献阅读1.1 摘要1.2 背景1.3 论文方法1.3.1 局部特征提取1.3.2 局部特征转换器 (LoFTR) 模块1.3.4 建立粗粒度匹配1.3.5 精细匹配 1.4 损失1.5 实现细节1.6 实验1.6.1 单应性估计1.6.2 相对位姿估计 二、论文代码总结 摘要 本周阅读了一篇特征匹配领域的…

前端开发工程师——ajax

express框架 终端输入 npm init --yes npm i express 请求报文/响应报文 // 1.引入express const express require(express);// 2.创建应用对象 const app express();// 3.创建路由规则 // request:是对请求报文的封装 // response:是对响应报文的封装 app.get(…

创新指南 | 生成式AI如何引领企业创新未来?

2023年麦肯锡全球数字战略调查了1000多名受访者,发现:建立创新文化的组织与它们应用包括生成式AI在内的最新数字技术提高产出的能力之间有着惊人的强关联。 本文探讨了顶尖创新企业采取的五项行动,使它们与同行之间拉开距离,并在使…

论文 学习 Transformer : Attention Is All You Need

目录 概述: 对摘要的理解: 框架解析 按比例缩放的点积注意力 多头注意力机制 前馈神经网络与位置编码 概述: transformer 是一个encoder ——decoder 结构的用于处理序列到序列转换任务的框架,是第一个完全依赖自注意力机制…

PC端与bluetooth蓝牙虚拟串口通信

应该采用RFCOMM虚拟串口方式来进行通信,原理跟socket通信类似,不同的是使用的通信协议不同,本人结合相关的API,做了以下最简单的封装。 1、获取本地蓝牙设备与附近蓝牙设备信息 2、通信类 /* 通信类:只是对于客户端通…

心理应用工具包 psychtoolbox 绘制小球走迷宫

psychtoolbox 是 MATLAB 中的一个工具包,对于科研人员设计实验范式来说是不二之选,因为它可以操作计算机的底层硬件,精度可以达到帧的级别。 文章目录 一、实验目的二、psychtoolbox 的下载安装三、Psychtoolbox 的基本使用四、完整代码 一、…

im(即时通讯)是什么?

在当今数字化时代,即时通讯(IM)已经成为企业内部沟通与协作中不可或缺的工具。作为一种实时的即时通讯方式,IM能够极大提高团队成员之间的沟通效率,帮助企业快速响应变化,并增强内部协作与创新能力。 Work…

【Java】/*逻辑控制语句和输入输出—快速总结*/

目录 前言 一、分支语句 1.1 if 语句 1.2 switch 语句 二、循环语句 2.1 while 循环 2.1.1 break 2.1.2 continue 2.2 for 循环 2.3 do_while 循环 三、逻辑语句的小结 四、Java 中的输入输出 4.1 输出到控制台 4.2 从键盘输入 前言 Java 中的逻辑控制语句和C语…

如何通过AI技术实现员工培训的革命性变革

AI个性化培训:开启员工潜力的新篇章 在当今这个信息爆炸的时代,人工智能(AI)技术的影响力已经渗透到社会的各个层面,包括教育与培训行业。AI技术正在彻底改变我们获取知识与技能的方式,特别是在员工培训领域…

win11安装各银行的网银助手都无法打开,双击没反应?

大神贴 右键网银助手属性,在目标后面敲一下空格,输入**-runapp**,应用即可。 如图示例:

vscode go语言开发中在任意包运行和调试代码 Example使用方法

一般情况下我们在进行go语言开发的时候我们都需要创建一个main方法和main包才能运行go代码, 针对这个问题,go语言给我们内置了功能强大的testing测试框架, 其中一个很有意思的Example测试就非常的方便使用。 他不管你在什么包,也…

分布式版本控制工具 - Git

文章目录 1. 概念介绍2. 客户端2.1 介绍2.2 仓库操作2.3 文件操作2.4 分支原理与操作2.5 标签2.6 远程仓库2.7 README与IGNORE 3. IDEA集成4. 版本号4.1 介绍4.2 文件操作4.2 分支操作 5. 命令5.1 介绍5.2 仓库操作5.3 文件操作5.4 分支操作5.5 标签操作5.6 远程仓库 1. 概念介…