国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Docker】docker部署springboot+vue+mysql+nginx前后端分離項目【部署實戰(zhàn)篇】

這篇具有很好參考價值的文章主要介紹了【Docker】docker部署springboot+vue+mysql+nginx前后端分離項目【部署實戰(zhàn)篇】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


docker部署springboot+vue+mysql,docker,spring boot,vue.js

0、安裝docker并準(zhǔn)備一個springboot-vue前后端分離項目

安裝docker: https://blog.csdn.net/qq_39900031/article/details/121666892
springboot-vue前后端分離項目:https://gitee.com/ma-haojie/springboot-vue-demo.git

前后端打包放到服務(wù)器上

docker部署springboot+vue+mysql,docker,spring boot,vue.js

1、docker 安裝jdk

https://jackwei.blog.csdn.net/article/details/110227719

docker search openjdk:8
docker pull openjdk:8
docker run -di --name=jdk1.8 openjdk:8
docker exec -it jdk1.8 /bin/bash
root@2365c0f5b0ce:/# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
root@2365c0f5b0ce:/#

2、docker 安裝mysql

docker pull mysql:5.7

docker部署springboot+vue+mysql,docker,spring boot,vue.js

docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

docker部署springboot+vue+mysql,docker,spring boot,vue.js

通過Docker命令進(jìn)入Mysql容器內(nèi)部

docker exec -it mysql /bin/bash
## 或者
docker exec -it mysql bash

初始化數(shù)據(jù)

# 1.拷貝SQL文件到mysql容器中
docker cp /root/app/springboot-vue.sql mysql:/springboot-vue.sql

# 2. 創(chuàng)建數(shù)據(jù)庫
docker exec -it mysql mysql -uroot -p123456  

# 3.登陸控制臺執(zhí)行source 命令
mysql> source springboot-vue.sql

docker部署springboot+vue+mysql,docker,spring boot,vue.js

sqlDbx連接查看

docker部署springboot+vue+mysql,docker,spring boot,vue.js
docker部署springboot+vue+mysql,docker,spring boot,vue.js

3、docker build構(gòu)建后端鏡像

修改配置數(shù)據(jù)庫JDBC鏈接IP為虛擬機(jī)服務(wù)器IP

docker部署springboot+vue+mysql,docker,spring boot,vue.js
docker部署springboot+vue+mysql,docker,spring boot,vue.js

maven clean package打包后端jar并上傳到服務(wù)器

docker部署springboot+vue+mysql,docker,spring boot,vue.js

編寫Dockfile

FROM openjdk:8
ENV APP_PATH=/root/app
WORKDIR $APP_PATH
ADD ./springboot-0.0.1-SNAPSHOT.jar /$APP_PATH/apps.jar
EXPOSE 9090
ENTRYPOINT ["java","-jar"]
CMD ["apps.jar"]

或者

FROM openjdk:8
ENV APP_PATH=/home/app
WORKDIR $APP_PATH
ADD ./springboot-0.0.1-SNAPSHOT.jar /$APP_PATH/apps.jar
EXPOSE 9090
ENTRYPOINT ["java","-jar","/home/app/apps.jar"]

build 構(gòu)建

docker build -t app:0.1 .

docker部署springboot+vue+mysql,docker,spring boot,vue.js

查看構(gòu)建的后端鏡像app

docker部署springboot+vue+mysql,docker,spring boot,vue.js

4、docker run運行后端鏡像

docker run --name app -p 9090:9090 --restart=always -d app:0.1

--restart=always參數(shù)能夠使我們在重啟docker時,自動啟動相關(guān)容器。 Docker容器的重啟策略如下:
no,默認(rèn)策略,在容器退出時不重啟容器 on-failure,在容器非正常退出時(退出狀態(tài)非0),才會重啟容器
on-failure:3,在容器非正常退出時重啟容器,最多重啟3次
always,在容器退出時總是重啟容器
unless-stopped,在容器退出時總是重啟容器,但是不考慮在Docker守護(hù)進(jìn)程啟動時就已經(jīng)停止了的容器

docker部署springboot+vue+mysql,docker,spring boot,vue.js

查看運行容器app日志

docker  logs -f app

java.net.NoRouteToHostException: No route to host (Host unreachable) --如果出現(xiàn)需要開啟防火墻端口3306

docker部署springboot+vue+mysql,docker,spring boot,vue.js

虛擬服務(wù)器防火墻增加端口3306

   查看防火墻狀態(tài)命令         systemctl status firewalld
   重啟防火墻命令            systemctl reload firewalld
   關(guān)閉防火墻命令            systemctl stop firewalld
查看數(shù)據(jù)庫服務(wù)器已開放端口
firewall-cmd --list-ports
開放3406端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重啟防火墻命令            
systemctl reload firewalld
再次查看數(shù)據(jù)庫服務(wù)器已開放端口
firewall-cmd --list-ports

docker部署springboot+vue+mysql,docker,spring boot,vue.js

驗證后臺是否鏈接mysql成功

curl -X GET http://localhost:9090/user?pageNum=1&pageSize=10&search=

docker部署springboot+vue+mysql,docker,spring boot,vue.js

再次查看容器日志mysql成功

docker  logs -f app

docker部署springboot+vue+mysql,docker,spring boot,vue.js

5、docker 安裝nginx鏡像

https://blog.csdn.net/BThinker/article/details/123507820

docker pull nginx:latest

6、構(gòu)建前鏡像

編寫前端Dockfile

# 基礎(chǔ)鏡像使用Nginx
FROM nginx:latest
# 作者
MAINTAINER hjma
# 添加時區(qū)環(huán)境變量,亞洲,上海
ENV TimeZone=Asia/Shanghai
# 將前端dist文件中的內(nèi)容復(fù)制到nginx目錄
COPY dist  /usr/share/nginx/html/
# 用本地的nginx配置文件覆蓋鏡像的Nginx配置 必須跟Dockerfile平級目錄
COPY default.conf /etc/nginx/conf.d/
# 暴露端口
EXPOSE 80

npm run build 前端打包鏡像dist 上傳到服務(wù)器 將default.conf 放在Dockerfile平級目錄下

docker部署springboot+vue+mysql,docker,spring boot,vue.js

vue.config.js配置:target為后端地址

docker部署springboot+vue+mysql,docker,spring boot,vue.js

執(zhí)行docker build構(gòu)建

docker build -t vue-demo:1.0 .

docker部署springboot+vue+mysql,docker,spring boot,vue.js

運行一個容器nginx-vue

docker run \
-p 9876:80 \
--name nginx-vue \
-v /home/nginx-vue/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx-vue/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx-vue/log:/var/log/nginx \
-d vue-demo:1.0

docker部署springboot+vue+mysql,docker,spring boot,vue.js

防火開啟端口9090 80 否則Nginx會報錯No Route…

docker部署springboot+vue+mysql,docker,spring boot,vue.js

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=9090/tcp --permanent
重啟防火墻命令            
systemctl reload firewalld
再次查看數(shù)據(jù)庫服務(wù)器已開放端口
firewall-cmd --list-ports

docker部署springboot+vue+mysql,docker,spring boot,vue.js

驗證 前端->后端聯(lián)通性

##192.168.23.128我的虛擬機(jī)IP
curl -X GET http://192.168.23.128:9876/api/user?pageNum=1&pageSize=10&search=

docker部署springboot+vue+mysql,docker,spring boot,vue.js

7、登錄成功

docker部署springboot+vue+mysql,docker,spring boot,vue.js文章來源地址http://www.zghlxwxcb.cn/news/detail-638631.html

到了這里,關(guān)于【Docker】docker部署springboot+vue+mysql+nginx前后端分離項目【部署實戰(zhàn)篇】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包