外贸电商网站建设,域名注册用个人还是公司,数字广东网络有限公司,软件开发标准本文介绍在Linux操作系统Ubuntu版本中#xff0c;通过配置#xff0c;实现以非root用户身份#xff0c;进行Docker各项操作的具体方法。 在文章Linux系统Ubuntu配置Docker详细流程#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/132612560#xff0… 本文介绍在Linux操作系统Ubuntu版本中通过配置实现以非root用户身份进行Docker各项操作的具体方法。 在文章Linux系统Ubuntu配置Docker详细流程https://blog.csdn.net/zhebushibiaoshifu/article/details/132612560中我们介绍了开源容器化平台和工具集Docker的详细配置方法配置完毕后Docker就已经可以正常使用了但是还有着一个小问题——我们在Unix系统中进行Docker的各项操作时由于Docker是和Unix的套接字Socket绑定的而套接字归属于系统的root用户非root用户如果需要访问它就只能通过sudo命令实现这也导致了我们运行Docker时都必须要以root用户身份也就是通过sudo命令来实现。这就使得我们在执行很多和Docker有关的命令时都需要输入一次root用户的密码导致较为麻烦。那么我们是否可以取消这一个限制呢 答案是可以的我们可以通过新建一个Unix用户组的方式来实现上述需求。我们需要建立一个用户组将其命名为docker并将我们当前的非root用户放入这一个用户组中这样操作之后当Docker启动时其会创建一个可供docker用户组成员访问的Unix套接字从而使得我们可以用非root用户身份来进行后续的各项操作。 为完成上述工作具体需要的操作如下。其中本文所涉及的全部代码都在终端中执行即可。 首先执行如下的代码创建名为docker的一个用户组。其中groupadd是一个Linux系统命令用于创建用户组docker就是我们接下来要创建的用户组的名称。
sudo groupadd docker运行上述代码如下图所示。 接下来执行如下的代码将我们当前的非root用户放入刚刚创建的用户组中。其中usermod是一个Linux系统命令用于修改用户的属性和组关联-aG是usermod命令的选项其中-a表示追加Append-G表示指定用户所属的附加组docker是要将用户添加到的用户组的名称$USER是一个环境变量表示当前用户的用户名。
sudo usermod -aG docker $USER运行上述代码如下图所示。 随后执行如下的代码切换当前会话的有效组。其中newgrp是一个Linux系统命令用于切换当前会话的有效组docker是我们要切换到的目标组的名称。
newgrp docker运行上述代码如下图所示。 随后就完成了我们的配置工作。此时我们可以通过如下的代码验证一下我们是否已经成功完成前述配置该命令会下载一个测试映像并在容器中运行它。
docker run hello-world运行上述代码如下图所示。 如果出现了上图所示的界面就表示我们前述配置已经成功完成。在我们上一篇文章文章Linux系统Ubuntu配置Docker详细流程https://blog.csdn.net/zhebushibiaoshifu/article/details/132612560中当时也用了这一句代码来测试Docker是否配置成功而当时这一句代码的前面是需要有sudo字样的如下图所示而经过我们上述配置就无需这个sudo了。 当然如果大家运行了前述docker run hello-world代码后出现了报错的情况大家则可以参考Docker的官方网站其中有对这一问题的说明。 至此大功告成。
欢迎关注疯狂学习GIS