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

问题描述 投票:0回答:2

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

sudo usermod -aG docker $(whoami)

但是,当然,macOS 上没有

usermod
命令:

-bash:usermod:找不到命令

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

dscl

P.S.1.我已使用这些说明来设置 Docker 和

docker-machine.

P.S.2. 这个问题与 Visual Studio Code (VSCode) 无关 特别是,但如果我打开一个新终端并运行

eval "$(docker-machine env default)"
,然后使用
code
运行 VSCode,问题就解决了。

macos docker docker-machine
2个回答
16
投票

正如其他人也指出的那样,这个问题是无关紧要的。仅在 Linux 上才需要将用户添加到

docker
组,其中运行 Docker 命令需要
sudo
权限,如此处所述。在 macOS 上并使用
docker-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 的 another issue 也与用户组几乎没有任何关系。通过在新终端中运行

eval "$(docker-machine env <dockerMachineName>)"
,并从终端内部运行
code
编辑器,Docker 扩展可以正常工作。


4
投票

我还必须在 macOS 上编写

sudo
才能运行 docker 命令(我不知道为什么)。感谢 Foad 的解释,我修复了它。

我只想添加可供使用的命令。 第一个创建一个 docker 组。 第二个将当前用户添加到 docker 组。

sudo dscl . create /Groups/docker
sudo dseditgroup -o edit -a $USER -t user docker

如果您需要不同的东西,请阅读 Foad S. Farimani 的答案。

© www.soinside.com 2019 - 2024. All rights reserved.