如何使用Rancher發(fā)布前端服務過程詳解
正文
項目中用到rancher發(fā)布前端代碼,我自己參與了一次構建,遇到了很多的問題,不過一一解決了,用閑暇的時間,將遇到的問題記下來,也算是一次復盤了。
rancher是一個開源的企業(yè)級容器管理平臺,重點“容器管理”,可以極大的簡化容器管理的復雜度(相對于K8s),它是對于k8s容器引擎的封裝,有興趣可以看看官方文檔。
上傳鏡像
需要先安裝docker,確保docker是可以使用的。下面是Dockerfile文件和default.conf文件
FROM nginx COPY ./build /usr/share/nginx/html/ COPY ./default.conf /etc/nginx/conf.d/ EXPOSE 80
Dockerfile文件主要用于docker鏡像的創(chuàng)建;
FROM nginx:FROM指令初始化一個新的構建階段,并為后續(xù)指令設置基礎鏡像,這里的基礎鏡像是nginx;
COPY ./build /usr/share/nginx/html/:./build是前端打包之后的文件地址,將它復制到nginx的html目錄下;
COPY ./default.conf /etc/nginx/conf.d/:./default.conf是nginx配置文件, 將它復制到nginx的conf.d目錄下;
EXPOSE 80:監(jiān)聽80端口;
打包代碼
通過如下命令行打包代碼(實際代碼根據自己項目而定):
// 前端本地打包 $ npm run build:prod // 移除之前舊的鏡像 $ docker rmi xx.harbor.com:10443/xx/front-web-project:1.0.0 // 構建鏡像 $ docker build -f Dockerfile -t xx.harbor.com:10443/xx/front-web-project:1.0.0 . // push 鏡像到鏡像倉庫 $ docker push xx.harbor.com:10443/xx/front-web-project:1.0.0
鏡像倉庫是提前構建好的,可以找運維工程師確認。我上面使用到的是harbor鏡像存儲庫,這個是運維工程師搭建好的,我這邊可以直接使用。鏡像名和tag根據自己項目實際來。
Nginx配置
下面就是nginx配置文件,由于是前端項目,nginx主要在這里做的就是靜態(tài)資源服務器,接口代理。
server {
listen 80;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods *;
client_max_body_size 2000M;
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
try_files $uri /index.html;
}
}nginx配置文件根據自己的實際需求編寫,更多的配置也可以在這里繼續(xù)添加(比例接口代理,負載均衡等)。
工作負載
rancher是一個容器管理平臺,是k8s的二次封裝,提供更豐富的功能,有興趣的同學,可以看看 官網 的相關資料。在rancher里工作負載是一個對象,包括pod以及部署應用程序所需的其他文件和信息。
以下是rancher中 工作負載服務的創(chuàng)建過程:

點擊部署服務,進入到創(chuàng)建工作負載界面:

Docker鏡像地址是你已經上傳的 前端鏡像地址 ,主機端口需要 找運維確認端口 ,命名空間可選中已有的。容器端口一般都是 80,這和你的 default.conf配置端口相關。以上填寫完成之后,滑動到底部,點擊升級按鈕。
點擊進入創(chuàng)建完成的工作負載中,如果pods中存在正常running的pod實例,既是創(chuàng)建成功。如果存在其他問題,可以參考下面 出現的問題,進行相關問題的排查。

創(chuàng)建發(fā)布成功后,既可通過ip+端口訪問前端服務,如果能訪問成功代表部署的沒有問題。
出現的問題
以下問題是在實際使用發(fā)現的問題,將它們記錄下來;
- 鏡像構建服務無法成功,提示是失敗的構建
優(yōu)先查看日志信息,根據日志信息提示排查問題。例如:如果提示鏡像構建服務時報錯,記得排查前端靜態(tài)資源文件打包中,nginx配置文件編寫存在問題,相關的Dockfile文件配置信息是否正常。
- 鏡像構建服務成功后,頁面依然無法訪問
查看日志信息,查看是否有提示信息。如果存在提示信息,根據提示排查問題;
在保證服務啟動正常,nginx配置正常的前提下,與相關人員確認,服務器IP、端口號,是否正常開啟。
- 構建服務成功,頁面訪問不是目標文件
確認nginx配置信息是否生效,是否有被其他文件覆蓋;并確認前端資源文件上傳到了指定目錄,存在相關文件目錄。
- 構建服務成功,頁面訪問正常,接口代理異常
查看訪問日志信息,是否存在相關請求提示信息。確認nginx配置接口代理編寫正確,不存在異常錯誤;再打開命令行窗口,嘗試通過 curl [目標服務接口地址],確認接口ip是否可以正常訪問。
- 代理文件、接口地址訪問不穩(wěn)定
確認網絡模式,IP地址是否為相同模式下的IP和端口。
以上就是如何使用Rancher發(fā)布前端服務過程詳解的詳細內容,更多關于Rancher發(fā)布前端服務的資料請關注腳本之家其它相關文章!
相關文章
使用Docker查看Elasticsearch錯誤日志的詳細步驟
在使用 Elasticsearch(簡稱 ES)的過程中,我們可能會遇到各種問題,為了快速定位和解決這些問題,查看錯誤日志是關鍵,本文將介紹如何使用 Docker 查看 Elasticsearch 的錯誤日志,并提供一些實用技巧,需要的朋友可以參考下2025-08-08
Docker數據卷掛載命令volume(-v)與mount的使用總結
本文主要介紹了Docker數據卷掛載命令volume(-v)與mount的使用總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
如何使用 docker compose 搭建 fastDFS文件服務器
這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務器,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10

