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部署,成功。

img

内容来源于网络如有侵权请私信删除