2021年7月23日 星期五

[研究] OWASP Dependency-Track 4.2.2 有時登入無反應,狀態一直 Restarting

[研究] OWASP Dependency-Track 4.2.2 有時登入無反應,狀態一直 Restarting

2021-07-23

遠端,從未成功登入過,Login按鈕總是無反應。

本機,某次,Dependency-Track 按下 Login 完全無反應,測試多次都如此。


(下圖)正常情況下,Dependency-Track 若登入失敗,會出現類似下圖的錯誤,但這次沒有

不管從 localhost 或別台電腦連,有時候,按下 Login 按鈕不會登入,也沒有錯誤訊息。

效能太差,還沒啟動完成嗎?等一陣子再用,依然如此。

reboot 看看,無用。

用 sudo docker-compose down 停用,執行 sudo docker-compose up -d 啟用 container,無用


[john@localhost ~]$ sudo docker-compose down 
Stopping john_dtrack-frontend_1  ... done
Stopping john_dtrack-apiserver_1 ... done
Removing john_dtrack-frontend_1  ... done
Removing john_dtrack-apiserver_1 ... done
Removing network john_default
[john@localhost ~]$ sudo docker-compose up -d
Creating network "john_default" with the default driver
Creating john_dtrack-apiserver_1 ... done
Creating john_dtrack-frontend_1  ... done
[john@localhost ~]$ 

把 RAM 加到 10GB ,無用。

執行 sudo docker-compose ps 檢查發現某 docker 一值處於 Restarting 狀態


[john@localhost ~]$ sudo docker-compose ps
[sudo] password for john: 
         Name                        Command                  State                        Ports                  
------------------------------------------------------------------------------------------------------------------
john_dtrack-apiserver_1   /bin/sh -c java $JAVA_OPTI ...   Up (healthy)   0.0.0.0:8081->8080/tcp,:::8081->8080/tcp
john_dtrack-frontend_1    /docker-entrypoint.sh ngin ...   Restarting                                             

正常應該是這樣


[john@localhost ~]$ sudo docker-compose ps
         Name                        Command                       State                            Ports                  
---------------------------------------------------------------------------------------------------------------------------
john_dtrack-apiserver_1   /bin/sh -c java $JAVA_OPTI ...   Up (health: starting)   0.0.0.0:8081->8080/tcp,:::8081->8080/tcp   
john_dtrack-frontend_1    /docker-entrypoint.sh ngin ...   Up                      0.0.0.0:8080->8080/tcp,:::8080->8080/tcp
[john@localhost ~]$ 

根據這篇,最可能是 RAM 不足,但已經給到 10GB 了,而且無法 login 不是一開始就這樣,而是用了一陣子後;
https://www.fecmall.com/topic/931

改用 poweroff,再開機 ( 希望被占用的 RAM 放些出來,可以正常運作),無用。

下面,kill 掉 process再啟動,無用。


[john@localhost ~]$ ps aux | grep  docker-compose
john        6670  0.0  0.0  12136  1104 pts/0    S+   21:16   0:00 grep --color=auto docker-compose

[john@localhost ~]$ ps aux | grep  docker
root        1395  0.2  1.1 1596380 114176 ?      Ssl  21:07   0:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root        2494  0.0  0.0 700424  7796 ?        Sl   21:08   0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8081 -container-ip 172.18.0.2 -container-port 8080
root        2502  0.0  0.0 405496  5756 ?        Sl   21:08   0:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8081 -container-ip 172.18.0.2 -container-port 8080
john        6678  0.0  0.0  12136  1080 pts/0    S+   21:16   0:00 grep --color=auto docker

[john@localhost ~]$ kill -9 1395
bash: kill: (1395) - Operation not permitted
[john@localhost ~]$ sudo kill -9 1395
[john@localhost ~]$ sudo kill -9 2494
kill: sending signal to 2494 failed: No such process
[john@localhost ~]$ sudo kill -9 2502
kill: sending signal to 2502 failed: No such process
[john@localhost ~]$ sudo kill -6678
kill: invalid signal name or number: 6678
[john@localhost ~]$ sudo docker-compose up -d
john_dtrack-apiserver_1 is up-to-date
john_dtrack-frontend_1 is up-to-date
[john@localhost ~]$ sudo docker-compose ps
         Name                        Command                       State                            Ports                  
---------------------------------------------------------------------------------------------------------------------------
john_dtrack-apiserver_1   /bin/sh -c java $JAVA_OPTI ...   Up (health: starting)   0.0.0.0:8081->8080/tcp,:::8081->8080/tcp
john_dtrack-frontend_1    /docker-entrypoint.sh ngin ...   Restarting                                                      
[john@localhost ~]$ 


因為這是 VM,把快照復原到 Dependency-Track 剛安裝完成,第一次執行 sudo docker-compose up -d 成功啟動時,測試可以正常登入了。

但是所有登入 Dependency-Track 後建立的任何東西全部沒有了。

想起某次參加研討會 (不是 Dependency-Track) ,講師某隔一陣子,系統異常,就在重啟 docker 和 container,是否 docker 穩定性不如 VM?

而 Dependency-Track 的登入問題,倒底是 Dependency-Track 本身問題?docker 或 docker-compose問題?或其他問題?有無現有資料不會消失的更好解法?待研究。

(完)

沒有留言:

張貼留言