【问题标题】:How to add the current user to the Docker group on macOS?如何将当前用户添加到 macOS 上的 Docker 组?
【发布时间】:2021-12-15 19:25:12
【问题描述】:

我正在尝试关注this post,将当前用户添加到 Docker 组:

sudo usermod -aG docker $(whoami)

当然,macOS 上没有usermod 命令:

-bash: usermod: 找不到命令

现在我想知道 macOS 上是否有与上述命令等效的命令?可能使用dscl

P.S.1.我使用these instructions设置Docker和docker-machine.

P.S.2. 这个问题不是关于 Visual Studio Code (VSCode) 特别是,但是如果我打开一个新终端并运行eval "$(docker-machine env default)",然后使用code 运行VSCode,问题就解决了。

【问题讨论】:

  • 你想从什么开始?看起来那篇文章试图回答无法与 docker 连接的问题。
  • @tblev 我的问题是我在 Microsoft Studio Code 上看到了 this error message。但我也希望解决this issue
  • 您没有在 MacOS 机器上安装 docker,而是将其安装在 docker 不再支持的 VM 中,并且显然 VS 代码不是为使用而设计的。 Docker Desktop for Mac 的安装步骤可在docs.docker.com/desktop/mac/install 获得
  • 这仍然是一个 X-Y 问题,因为当您运行已弃用的 docker-machine 安装时,MacOS 中没有 /var/run/docker.sock。该文件位于虚拟机内部。如果你真的想在没有桌面的情况下运行 docker,我会跳过docker-machine 并启动一个 linux VM,按照 linux 安装过程,并配置 VS 代码以远程访问该 VM。
  • 就在您要解决的错误消息中,对这篇文章的第二条评论。

标签: macos docker docker-machine


【解决方案1】:

正如其他人也指出的那样,这个问题是无关紧要的。将用户添加到docker 组的过程仅在需要sudo 权限才能运行Docker 命令的Linux 上是必需的,如here 所述。在 macOS 上,使用 docker-machine,这是不必要的。


但是,如果想将一个用户,或者更具体地说是当前用户,添加到docker 用户组,无论出于何种原因,以下是说明:

  • here 列出带有dscl . list /groups 的现有用户组
  • 要创建用户组,如果不存在,请使用来自here 的命令sudo dscl . create /Groups/<groupName>
  • 要将用户添加到组中,可以使用命令sudo dseditgroup -o edit -a <userName> -t user <groupName>。来自heresudo dscl . append /Groups/<groupName> GroupMembership <userName> 来自here
  • 可以将<userName> 替换为$USER$(whoami) 以引用当前用户。
  • 要测试并查看是否已将预期用户添加到特定组中,可以使用命令dscl . -read /Groups/<groupName> GroupMembership 列出所有记忆。但是,正如here 所解释的那样,不能保证提供正确的结果。

other issue 与 Visual Studio 代码也几乎与用户组无关。通过在新终端中运行eval "$(docker-machine env <dockerMachineName>)",并在终端内部运行code 编辑器,Docker 扩展就可以正常工作了。

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2022-10-04
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多