本篇文章比較特別,比較像是日誌、紀錄,大家如果有相同問題可以參考,但不保證相同,單純想記錄酷酷的事。
# 前情提要
我在大二開始接觸學校系上網站,幫忙處理網頁開發以及學習網頁管理的部分,因為帶領我們開發的學長畢業了,所以我大三開始正式接管系網,很可惜我在這方面知識雖然有在學習,但是還是很需要歷練,也希望盡快可以不要當廢物哈哈哈。
# 2023.10.23
# 事件背景
系辦通知系網有部分頁面要修改,我們修改後將 docker image 推上 docker hub,然後在要部屬的伺服器 docker pull 下來,進行部屬。
我們 docker image 這些部分是利用 CI/CD 自動部屬的,而伺服器端是利用 docker watchtower 去檢查 docker hub 是否有更新,來確定是否需要重新 docker pull 下來,然後更新上去。
我們是利用 docker compose 將多個 images 一起跑起來的,包函了 frontend、backend、nginx、watchertower
# 事件問題
在跑 CI/CD 流程時確定沒有問題,log 也顯示 success,但是系上網站卻沒有更新。
# 問題解決
經過詢問確定了是 docker watchtower 沒檢查到更新,因此我們將 docker watchtower 重啟。
# 處理步驟
- 進去虛擬機
- 先進到
docker-compose.yml
檔案的路徑 - 可以利用幾個方法,更具需求選擇指令
docker compose restart
: Restart service containersdocker compose stop
: Stop servicesdocker compose start
: Start servicesdocker compose down
: Stop and remove conatiners, networksdocker compose up
: Create ans start containersdocker compose rm
: Removes stopped service comtainersdocker compose create
: Creates containers for a servicedocker compose ps
: List containersdocker compose ls
: List running compose projectsdocker compose images
: List images used by the created containerdocker compose exec
: Excute a command in a running containers
- 最後重啟就可以了。
# 待釐清
- 利用 docker restart 重新啟動時,機器直接卡住。
# 2023.11.03
# 事件背景
我們後端利用 Strapi 來撰寫的,部屬的 port 原為預設值。
# 事件問題
因為 11 月中有教育部資安檢測,雖然本身這個可能不是甚麼漏洞,但我們希望可以更安全。
# 問題處理
我們將對外連接的 port 做了更改,對內在連回先前的,讓其他人不容易直接修改到真實的 port,修改有成功,不過由於這個要更改的東西眾多,我們目前只測試系統上使用,近期會再找時間進行正式版修正。
# 處理步驟
# 待釐清
- port 傳接安全性提升多少。
# 2023.12.04
# 事情背景
學校在前天高電壓檢修有斷電,但是沒有特別通知到我,不過實驗室這邊的伺服器我們確定有關,但他是被用機器,小小說一下啊啊啊啊檢修完了沒有幫我開機,我還不知道他有關機,要用的時候發現關機了,差點嚇死,還好有先問學長,然後摸摸鼻子去開機,有點題外話了,但覺得這個也要記錄一下。
# 事件問題
今天真的是一大早,我還在早八的時候,系辦通知我說後端的資料傳不上去,我就上去後端看了一下發現是不論什麼資料都傳不上去。
然後就有了以下幾個猜測,我第一個想到的是可能是後端那邊的 server 有一些問題,想說把 docker compose restart 看看,結果不用沒事,一用直接出大事,我們發現他根本不能 start, 現在只能 stop,並顯示錯誤訊息,container 有存在,要 remove 或 rename,但是 docker compose rm 或 docker compose dowm 都不行,然後我就整個大清醒,真的我前天睡了一個小時,原本很想睡,直接清醒到我感覺我可以在醒個 48 小時,哈哈哈偏了偏了。
反正下來我就猜可能是 docker 要 restart,systemctl restart docker 之類的,但因為我們機器部屬在計網中心,所以我沒有 root 權限,沒辦法重啟,然後為了重啟我們通知了計網中心,沒想到計網中心一位同事要直接通報教育部資安問題,我真的更精神了,差一點嚇死,我要求他們重啟機器,但是他們說伺服器沒問題,所以沒有處理,當時我超無助啊!!!
一下課我就狂奔我們系辦,然後系辦姊姊跟我教授幫我攔下了,讓我一個小時恢復,但因為我實在沒有權限,所以學長給我了一個建議,先把系網網址先轉到備用機,至少有東西可以看,我真的很謝謝學長給的建議,我看到了一絲希望,因為要我一個小時我想到的也只由重新部一個,但我完全忘記備用機這件事,真的很慌那時候,而且出事真得太早了,根本沒有人可以討論,不過就在我準備轉到備用機時,我們接到了一通電話...。
計網中心那為想通報的同事重啟了伺服器,然後把硬碟重組,我這裡的 docker 就好了,雖然我們猜測是因為斷電,但伺服器沒有提前關機才會如此,不過這只是猜測,我想我考完試想要找學長復盤,釐清處到底為什麼。
雖然我有一點覺得那個要通報的同事壞,不過想想他確實也是按照規定啦,但我們明明就有找到大致問題,只是沒權限處理,最後問題還出在別人那裡,當時候我真的很緊張。
# 問題處理
簡單來說,雖然要盡快解決掉問題,但更重要的事要保證系網的運作,所以應該至少要讓系網有東西在運作,而不是沒東西
# 方法一
開啟靜態畫面 (一頁式畫面)
# 方法二
將系網網址轉換到備用機器上
# 2024.02.08
# 事件
計網中心要求要弱掃
# 2024.04.15
# 事件
系網 ssl 憑證過期,要替換新的