遇到的疑難雜症和解決方法 #585
ouyangyanhuo
started this conversation in
Show and tell
Replies: 2 comments 1 reply
-
|
你也可以选择为其它部分添加源 |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
楼主我想问你一下,我在部署前端的时候也是遇到 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
寫一下我在部署過程中遇到的疑難雜症和解決方法 然后Close issue
使用 Docker 部署前後端.
理論上前後端都十分好部署,因爲它們都有使用 Docker 構建的版本,但實際上在 Docker 部署中依舊會遇到一大堆問題。
後端
目前來看,後端部署沒有什麽太大的問題,最多遇到網絡問題。
然後按照教程的部署就好了 後端部署教程 推薦只填寫前兩項就好了。
注意:我們按照教程 wget 到的
docker-compose.yml的 environment 是這樣的按照我說的只填寫教程中的前兩項,應該在這個 environment 中修改 ALLOWED_ORIGINS 配置項和 JWT_SECRET ,在部署中 JWT_SECRET 的作用位置,而 ALLOWED_ORIGINS 主要是用來解決跨域問題的。
注意:如果你要設置端口訪問,請在允許訪問的地址的後面加上端口,例如
ALLOWED_ORIGINS=localhost:2333或ALLOWED_ORIGINS=localhost:*設定-系統中填寫好 前端、後臺、API、Gateway 的地址。例如:
具體地址請參考 Nginx 反向代理規則:
前端
我的前端依舊使用 Docker 部署,我在拉取官方鏡像運行時,遇到了
禁止访问或者 API 服务出现问题這個問題。本著 力 大 砖 飞 的原則,我選擇直接依賴 Dockerfile 進行 Build.
其實更多的原因是,我在 Pull 到的 image 最後修改時間是 2024年10月 但 Github 倉庫在近幾日還有更新,説明 image 并不是最新鏡像,遂進行自構建
依舊是由於大陸地區特殊的網絡環境,需要一個鏡像 or 代理,我選擇了鏡像。
Dockerfile文件,經過檢查,整個項目依賴pnpm構建運行,所以要依靠pnpm拉取前端必須的模塊,遂對 pnpm 切換鏡像即可。Dockerfile 中的第 14 行 和 第 23 行,都寫到了
即使用 npm 安裝 pnpm,那就在它的緊跟著的下一行寫上切換鏡像的指令即可,推薦使用淘寶的鏡像,清華的鏡像好像有些不全
注:如果報錯 docker build 的報錯地點在 npm 安裝 pnpm 的那一行,建議再為 npm 切換成淘寶的鏡像源。
接下來進行 Docker build 就好了
等待構建完成后,按照官方提供的步驟稍加修改
這之後就成功啓動了
注意,在
vim docker-compose.yml時,要將image修改成上面 build 時候設置的名稱,例如my-shiro我在這裏舉個例子,版本號也要根據你構建的版本鎖定,如果構建沒有指定版本,則默認為
latest再有一點需要格外注意,我建議有 Linux 系統電腦的用戶這樣操作,因爲交給服務器構建的話會,在
RUN pnpm build階段,可能會性能不足,導致服務器卡死且構建失敗,除非你有 8G 的内存有關修改云函數不生效的問題
既然都是基於鏡像構建的,只要鏡像在就好了,停止原來的容器、刪掉原來的容器,開啓新的容器。
有關主題更新
從 GitHub 上 clone 最新版本中的源代碼,然後 Docker build、停止原來的容器、刪掉原來的容器、啓動新的容器就好了。當然如果你要修改版本號,記得修改一下
docker-compose.yml文件Beta Was this translation helpful? Give feedback.
All reactions