macOS 上如何将当前用户添加到 Docker 组?

Foa*_*oad 7 macos docker docker-machine

我正在尝试按照这篇文章,将当前用户添加到 Docker 组:

sudo usermod -aG docker $(whoami)
Run Code Online (Sandbox Code Playgroud)

当然,usermodmacOS 上没有命令:

-bash:usermod:找不到命令

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

PS1。我已经使用这些说明来设置 Docker 并docker-machine.

PS2。这个问题与 Visual Studio Code (VSCode) 特别无关,但如果我打开一个新终端并运行eval "$(docker-machine env default)",然后运行 ​​VSCode,code问题就解决了。

Foa*_*oad 15

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


但是,如果出于某种原因想要将用户(或更具体地说当前用户)添加到用户docker组中,请参阅以下说明:

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

Visual Studio Code 的另一个问题也与用户组几乎没有任何关系。eval "$(docker-machine env <dockerMachineName>)"通过在新终端中运行,并code从终端内部运行编辑器,Docker 扩展可以正常工作。


归档时间:

查看次数:

26012 次

最近记录:

2 年,12 月 前