作者ShenJing (ShenJing)
看板Linux
標題[問題] docker無法開啟下如何匯出容器到另一台
時間Wed Jan 2 21:44:36 2019
如同標題,
先描述 Server 上開啟 docker 遇到的問題,
環境是 CentOS-7.6.1810,
前幾天重開機,docker 就開不起來,
使用 systemd 開啟,下的指令是:
systemctl start docker
但卻回報我如下錯誤:
Authorization not available.
Check if polkit service is running or see debug message for more information.
於是我先確認 polkit.service 的 status,結果如下圖:
https://i.imgur.com/AbQyHw1.png
此外使用 sudo 下指令也跑得比往常還慢,不知是否也跟此服務有關(也重開機幾次了)
由於上述問題還在 debug 當中(若有有解的大大還煩請開示一下了),
所以現在考慮將該 Server 上的 container 轉移到其他台 Server 上,
已知 docker 有 export 跟 save 可做匯出,
可是目前的問題是 docker 服務跑不起來,不知該如何下手,
目前搜尋的關鍵字差不多是 export docker image offline 之類的,
不過沒有找到滿意的解答,
此部分也想請教各位大大會怎麼下關鍵字,
目前已試過將 /var/lib/docker/containers 下該容器的目錄,
打包到其他台機器對應的路徑,仍是沒有成功(該台機器下 ps -a 沒有出現該容器)
請問還有其他方法可以轉移容器嗎?
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.207.98
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1546436679.A.7F8.html
1F:推 chang505: 就是 polkit 01/02 21:58
不知為何 log 顯示是失敗在 timed out,還在 debug 中
2F:→ hijkxyzuw: sudo systemctl docker start 不行嗎? 01/02 23:17
3F:推 holishing: service 吧? 01/03 00:03
4F:→ bamchisu: 看你的圖,問題應該就是出在polkit沒開起來 01/03 00:33
5F:→ bamchisu: 其他台如果docker服務沒開起來,你下docker ps -a 01/03 00:35
6F:→ bamchisu: 應該也沒用 01/03 00:35
7F:→ bamchisu: 另外,別亂搬,docker在生成container的時候記得是有加 01/03 00:40
8F:→ bamchisu: 參數的,萬一他參數加在目錄那你照搬過去,也不知道其他 01/03 00:41
9F:→ bamchisu: 部份哪邊有用到,這樣想想怎麼會work? 01/03 00:42
10F:→ bamchisu: 二樓, 樓主下的指令是對的systemctl start +服務名稱 01/03 00:42
11F:→ bamchisu: 三樓,ubuntu裏面用service,Centos裏面用systemctl 01/03 00:44
感謝你的提醒說明並幫我回覆!
確實其他台正常運作的主機,polkit 皆是 active 的,但目前 polkit 的問題還不知該
如何處理,這次遇到這問題才知道原來有這服務XD
另外請問這樣的話沒有照搬的解法嗎?
12F:推 tjjh89017: docker export XXX_name > pack.tar 01/03 02:01
13F:→ tjjh89017: docker import < pack.tar 01/03 02:01
感謝,可是現在的問題是 docker 開不起來,無法使用 docker export…QAQ
14F:推 holishing: 印象中用 service 和 systemctl 跟發行版沒直接關聯 01/03 03:43
15F:→ holishing: 應該說近期發行版有採用 systemd 的話 service 指令都 01/03 03:43
16F:→ holishing: 會導向 systemctl 對應的指令吧 01/03 03:44
感謝你提供實際執行圖!
19F:→ willy69wu31: 所以現在這個問題解到哪了,polkit還開不起來? 01/03 16:13
20F:→ willy69wu31: 很像是polkit有啟動,卻被認定啟動失敗並強制關掉 01/03 16:17
21F:→ willy69wu31: 90秒才timeout 啟動polkit後90秒內docker或許會動? 01/03 16:18
22F:→ willy69wu31: 或是手動執行polkit(不從服務啟動)看docker是否能用 01/03 16:45
目前問題卡在 polkit 無法啟動,於是使用 journalctl 查詢相關 log。
以下是下了 systemctl start polkit 指令之後,
使用 journalctl 查詢 log 的截圖:
https://i.imgur.com/KTIXvQn.png
https://i.imgur.com/MMMfgJB.png
圖截的有點大張,若不清楚還請點進去放大了,不好意思…
看來問題不只出在 polkit?其實就算我沒主動下 systemctl 去開啟 polkit,
journalctl 也是自己產了幾個錯誤的 log
(相比另一台相似環境的機器,多了不少錯誤)
目前正慢慢理解其他額外錯誤的來頭是什麼
23F:推 holishing: 然後確認你是用root權限(如sudo)執行systemctl指令嗎? 01/04 03:36
24F:→ holishing: (可能是2F主要問的重點... 01/04 03:37
謝謝解釋,不過我有使用 root 權限執行
25F:推 kenwufederer: 沒有Dockerfile去重現嗎? 01/06 20:55
26F:→ kenwufederer: SElinux 關閉了嗎? 01/06 20:56
因為該使用者是 Docker 新手,他建該容器只是半試半做事的目的,
該容器累積的內容不算多,只是我自己也好奇存不存在文中所提出的解法
確認 /etc/sysconfig/selinux 中的 SELINUX=disabled 沒錯(原來從頭到尾都沒開XD)
還是無法解決QAQ
27F:→ willy69wu31: 那你要不要試試看手動啟動polkit? 01/10 17:23
28F:→ willy69wu31: 也就是,不要透過服務,用root執行polkit啟動指令 01/10 17:23
29F:→ willy69wu31: 這樣的情況下docker能不能跑? 01/10 17:23
不好意思想請問要怎麼手動啟動呢?QAQ
我查到的方法只有如下圖,最後卡在system bus:
https://i.imgur.com/EJq9Xrs.png
抱歉前陣子期末考忙碌,所以晚了許久才回覆
※ 編輯: ShenJing (140.113.207.98), 01/23/2019 16:23:01