我正在尝试按照这篇文章,将当前用户添加到 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,问题就解决了。
正如其他人也指出的那样,这个问题是无关紧要的。仅在 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 的 也与用户组几乎没有任何关系。通过在新终端中运行
eval "$(docker-machine env <dockerMachineName>)"
,并从终端内部运行 code
编辑器,Docker 扩展可以正常工作。
我还必须在 macOS 上编写
sudo
才能运行 docker 命令(我不知道为什么)。感谢 Foad 的解释,我修复了它。
我只想添加可供使用的命令。 第一个创建一个 docker 组。 第二个将当前用户添加到 docker 组。
sudo dscl . create /Groups/docker
sudo dseditgroup -o edit -a $USER -t user docker
如果您需要不同的东西,请阅读 Foad S. Farimani 的答案。