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

img

相关文章

在上文中,我介绍了事件驱动型架构的一种简单的实现,并演示...
上文已经介绍了Identity Service的实现过程。今天我们继续,...
最近我为我自己的应用开发框架Apworks设计了一套案例应用程序...
HAL(Hypertext Application Language,超文本应用语言)是一...
在前面两篇文章中,我详细介绍了基本事件系统的实现,包括事...
HAL,全称为Hypertext Application Language,它是一种简单的...