文章目录
🌕方法一:让所有用户都可以使用docker
🌙创建docker用户组
sudogroupadd docker
🌙把当前用户加入docker用户组
sudousermod -aG docker $USER
🌙单独把某个用户加入docker用户组
sudousermod -aG docker 用户名
🌙更新激活docker用户组
newgrp docker
🌙验证不需要sudo执行docker命令
docker run hello-world
🌙如果执行上面的命令之后不行,则重启Docker服务:
在某些情况下,你可能需要重启Docker服务以使更改生效。你可以使用以下命令:
sudo systemctl restart docker
检查组成员:你可以使用以下命令检查哪些用户属于docker组:
getent group docker
🌕方法二:让所有用户都可以使用docker(需要重启)
🌙添加所有用户为docker的用户
sudousermod -aG docker $USER
reboot
🌙重启docker服务
systemctl start docker
sudoapt-get -y install apt-transport-https ca-certificates curl software-properties-common
service docker restart
🌙测试普通用户能不能使用docker
docker run hello-world
🌙为什么要sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 这个命令并不是直接让普通用户使用 Docker 的必需步骤。然而,这个命令中的某些软件包可能对设置或管理 Docker 环境有所帮助,具体取决于您的目标和系统配置。
让我们逐一看看这些软件包的作用:
apt-transport-https:这个软件包允许 apt(APT 包管理工具)通过 HTTPS 协议下载软件包。这对于从使用 HTTPS 的软件仓库(repository)安装软件包是必要的。如果您的 Docker 安装源或任何 Docker 相关的软件仓库是通过 HTTPS 提供的,那么安装 apt-transport-https 是有必要的。
ca-certificates:这个软件包包含了 Mozilla 的 CA(证书颁发机构)证书捆绑包,用于验证 SSL/TLS 证书的合法性。这对于确保通过 HTTPS 的安全通信至关重要。
curl:curl 是一个命令行工具,用于从服务器传输数据。它支持多种协议,包括 HTTP、HTTPS、FTP 等。虽然 Docker 本身不需要 curl 来运行,但 curl 在管理和配置 Docker(例如,从远程服务器下载 Docker 配置文件或脚本)时可能非常有用。
software-properties-common:这个软件包提供了 add-apt-repository 命令,该命令允许用户添加新的 APT 软件仓库。虽然这通常用于添加第三方软件仓库,但它与 Docker 的直接关系不大。然而,如果您打算添加 Docker 的官方仓库或任何第三方 Docker 仓库,那么安装 software-properties-common 将是有用的。
🌕方法三:文心的方法
在Ubuntu上,默认情况下,Docker守护进程(daemon)以root用户身份运行,并且只有root用户或具有sudo权限的用户才能直接运行Docker命令。然而,你可以通过以下步骤将Docker权限授予普通用户,而无需每次都使用sudo。
🌙步骤1:创建docker用户组
Docker安装过程中通常会创建一个名为docker的用户组。如果组不存在,你可以手动创建:
sudogroupadd docker
🌙步骤2:将用户添加到docker组
将你的普通用户添加到docker组中。假设你的用户名是your_username,你可以使用以下命令:
单独指定一个人使用docker
sudousermod -aG docker your_username
指定所有用户都可以使用docker
sudousermod -aG docker $USER
🌙步骤3:重新登录
为了使组成员身份生效,你需要重新登录。你可以注销并重新登录,或者重新启动系统。如果你不想重新登录,可以使用newgrp命令临时切换到新的组:
newgrp docker
🌙步骤4:验证权限
重新登录后,你可以验证是否成功获得了Docker权限。运行以下命令,无需使用sudo:
docker run hello-world
如果一切正常,你应该会看到Docker的Hello World消息,这表明你现在可以无需sudo权限运行Docker命令。
🌙重启Docker服务:
在某些情况下,你可能需要重启Docker服务以使更改生效。你可以使用以下命令:
sudo systemctl restart docker
检查组成员:你可以使用以下命令检查哪些用户属于docker组:
getent group docker
通过这些步骤,你可以让普通用户无需sudo权限即可访问和运行Docker命令。
版权归原作者 computer_vision_chen 所有, 如有侵权,请联系我们删除。