今天遇到一個詭異的jenkins問題。以往正常構建的項目,在推送鏡像進入私庫時,忽然報unauthorized: authentication required。docker
- 開始嘗試命令行從新進行了docker login。
-
docker login -p 密碼 -u 用戶 http://私庫url
- 登陸成功後,嘗試用jenkins用戶在命令行進行push操做。
-
docker push 鏡像
- 命令顯示OK。切回Jenkins進行構建,問題依舊存在。
- 新建構建項目,嘗試執行docker login和docker push命令。login時報:
-
Error saving credentials: mkdir /.docker: permission denied
- docker 的client配置目錄本來應該在~目錄,不知爲什麼跑到了根目錄,命令行該用戶的home目錄正常,懷疑docker默認配置不對,而後修改配置,重啓,問題依舊。
- 有點無語了,轉頭看看jenkins的系統信息,發現其中的home和user.home均在根目錄下。而後嘗試修改用戶目錄,並重啓jenkins。
-
usermod -d /path/to/your/location jenkins
- 重啓完畢後,嘗試編譯項目,問題終於解決。多是週末停機維護形成的,應該是jenkins的小bug。
參考資料:bash