介紹本文用的經典的前後端分離開源專案、專案的拉取這些在另一篇部落格!!!
其中所需要的前後端打包本篇就不做操作了!!不明白的去看另一篇部落格!!!
準備介紹就是這些,現在咋們著手開始部署
1、安裝docker
Docker 分為 CE 和 EE 兩大版本。CE 即社群版(免費,支援週期 7 個月),EE 即企業版強調安全,付費使用,支援週期 24 個月。
Docker CE 分為 `stable` `test` 和 `nightly` 三個更新頻道。
官方網站上有各種環境下的 [安裝指南](https://docs.docker.com/install/),這裡主要介紹 Docker CE 在 CentOS上的安裝。
Docker CE 支援 64 位版本 CentOS 7,並且要求核心版本不低於 3.10, CentOS 7 滿足最低核心的要求,所以我們在CentOS 7安裝Docker。
注意:如果之前安裝過舊版本docker、可以使用下面命令解除安裝!!!
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安裝docker、注意是否在聯網下進行、安裝yum工具!
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然後更新本地映象源:
# 設定docker映象源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然後輸入命令安裝:
yum install -y docker-ce
docker-ce為社群免費版本。稍等片刻,docker即可安裝成功。
2、啟動docker
啟動docker前,一定要關閉防火牆後!!
啟動docker前,一定要關閉防火牆後!!
# 關閉
systemctl stop firewalld
# 禁止開機啟動防火牆
systemctl disable firewalld
通過命令啟動docker:
systemctl start docker # 啟動docker服務
systemctl stop docker # 停止docker服務
systemctl restart docker # 重啟docker服務
然後輸入命令,可以檢視docker版本:
docker -v
3、部署後端部分
前後端部署的專案打包其中需要修改一些配置、其中後端包括mysql,redis,log日誌路徑修改
前端配置檔案轉發路徑的修改!!!請看另外一篇部落格!!!
先拉取專案所需要的java環境映象!!
直接執行命令:docker pull java:8
在/root目錄下使用命令
mkdir -p /java/docker-filesto
建立完成後,我們把提前打包好的jar包放在docker-filesto目錄下
並在此目錄下建立檔案springboot_dockerfile!!!
在springboot_dockerfile檔案中加入相關配置!
這裡可以藉助第三方工具建立,也可以利用vim!!!
FROM java:8
#定義父映象
MAINTAINER chao<FENGJIANCHAO>
#定義作者資訊
ADD ruoyi-admin.jar ruoyi.jar
#將jar包新增到容器中、其中ruoyi-admin.jar為打好的jar包、ruoyi.jar
為改的名字
CMD java -jar ruoyi.jar
#定義容器啟動執行的命令
執行命令建立映象注意‘.’不能省略
docker build -f ./springboot_dockerfile -t ruoyi .
通過dockerfile構建映象:docker bulid-f dockerfile檔案路徑 -t 映象名稱版本
使用命令docker images檢視建立的映象!!!
最後建立容器執行:
docker run -id -p8080:8080 --name=ruoyi ruoyi
docker rum -id -p 8080:8080 --name=名字 所依賴的映象名稱:版本(最新版不用加) -p後是宿主機與容器的埠對映
瀏覽器訪問ip+埠、後端部署成功!!!
4、部署前端部分
1、安裝nginx
拉取nginx官方映象,這裡預設拉取的是最新版本映象:latest
拉取命令:
docker pull nginx
建立容器、設定埠對映!!!
在/root目錄下使用命令
mkdir -p /myvue/nginx/conf
進入conf目錄下、建立需要對映的配置檔案nginx.conf
vim nginx.conf
在配置檔案中加入如下配置!!!
worker_processes 1;
events {
worker_connections 1024;
}
#http塊
http {
#http全域性塊
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#server塊
server {
#server全域性塊
listen 80;#監聽埠
server_name 192.168.44.128#監聽地址,填自己伺服器ip
charset utf-8;
#location塊很重要!!!!
location / {
root /usr/share/nginx/html/dist;#前端資源路徑
try_files $uri $uri/ /index.html;
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://192.168.44.128:8080/;#後端轉發地址,你的伺服器ip+埠
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include /etc/nginx/conf.d/*.conf;
}
同理退回根目錄:cd /
建立需要對映的網站檔案目錄
mkdir -p /myvue/nginx/html
建立成功,使用第三方工具把前端打包生成的整個dist檔案放在html目錄下。注意是整個dist檔案!!!
啟動nginx 和對映檔案
docker run -d -p 80:80 --name=Ruoyi \
-v /myvue/nginx/html:/usr/share/nginx/html \
-v /myvue/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
-p 80:80:將容器的 80埠對映到宿主機的 80 埠。
-v將主機當前目錄下的 /myvue/nginx/html掛載到容器的 :/usr/share/nginx/html
-v將主機當前目錄下的 /myvue/nginx/conf/nginx.conf掛載到容器的/etc/nginx/nginx.conf nginx
配置目錄
檢視容器啟動情況:
docker ps -a
Up代表啟動成功此時瀏覽器訪問ip+埠
登入!!!!!
專案搭建就成功了!!!!!
本文僅用於學習、如有錯誤請糾正!!!!!