1. 程式人生 > 實用技巧 >非root使用者使用AntDeploy部署docker

非root使用者使用AntDeploy部署docker

AntDeploy這個東西非常好用,可以直接將.NET CORE的程式直接釋出到docker,剛好我有這個需求,但是程式預設給的賬戶示例是root賬戶的,需要對於需要分散開發的同學來說,這個東西風險有點大,說不定就洩露密碼了。

我嘗試使用非管理員賬戶進行操作,發現會在Start Copy Files From ...這個步驟和sudo docker這個步驟提示錯誤,提示需要使用terminal或者-S來輸入密碼。

輸入是不可能輸入的,自動化的東西嘛。仔細想想,可以將特定命令新增到sudo的無密碼清單裡面就可以了。以下是完整步驟,CENTOS 8上測試通過。

新增docker使用者

首先是需要新增docker的使用者的,你需要在root賬號下,先執行:

adduser dockeruser #新增使用者
passwd dockeruser #修改密碼
groupadd docker #新增docker使用者組
usermod -a docker dockeruser #將使用者新增到docker使用者組
systemctl restart docker #重啟docker

這樣就添加了dockeruser使用者對docker的訪問許可權。

新增antdeploy許可權

只要能夠跳過cp和docker的sudo密碼提示就可以了,很簡單。還是在root許可權下,執行:

visudo

在檔案的最後,新增上:

dockeruser ALL=NOPASSWD:/bin/cp
dockeruser ALL=NOPASSWD:/usr/bin/docker

儲存即可。

驗證

切換到dockeruser下,執行docker ps應該能看到正常的執行狀態。使用AntDeploy部署,成功。