0. 解決辦法
卸載有風險, 請?zhí)崆白龊每煺栈騻浞?/em>
若容器是 apt
的啟動的, 則卸載 snap
的 docker
snap remove docker
若容器是 snap
的啟動的, 則卸載 apt
的 docker
apt autoremove docker
卸載完后重啟服務器
reboot
兩種判斷方法:
- 查看當前的
docker
命令是apt
的還是snap
的,apt
的是看不到snap
的容器的, 反之一樣 - 檢查容器相關的文件的路徑, 如數(shù)據(jù)卷位置, 或者全局搜索容器名稱, 若是在
/var/lib/docker/
下則是apt
, 若在/var/snap/docker/
下則是snap
的
1. 背景:
使用 apt
下載了 docker
且啟動了一個 gitlab
容器, 當時是可以找到這個容器的. 后面過了一段時間之后找不到這個容器了, 但是這個容器的服務確實還在運行, 使用 ps
命令還是能找到的
2. 原因分析:
鏡像自帶了一個使用 snap
安裝的 docker
, 再次使用 apt
下載了 docker
, 默認的 docker
命令變?yōu)?apt
下載的, 此時, 運行與查看鏡像都沒有問題
后來服務器重啟過之后, docker
命令變?yōu)?snap
下載的了, 這時使用 docker ps
無法找到 apt
的 docker
啟動的鏡像
2.1 檢查有幾個 docker
使用 snap list
命令查看是否有 docker
202305171143486.png
使用 apt list --installed | grep 'docker'
命令 查看是否有 docker
202305171143745.png
由此可以判斷已經(jīng)安裝了兩個 docker
, 所以存在著沖突
2.2 查看當前的 docker
命令是 apt
的還是 snap
的
使用命令 docker info |grep "Docker Root Dir"
查看
若輸出為 Docker Root Dir: /var/snap/docker/common/var-lib-docker
則是 snap
的
202305171143225.png
若輸出為 Docker Root Dir: /var/lib/docker
則是 apt
的
202305171143945.png