非root使用者使用AntDeploy部署docker
阿新 • • 發佈:2020-11-26
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部署,成功。