Docker - Mac上`dockerd`的替代品

10
我想启动带有开放TCP地址的docker守护进程,如下所示:docker daemon -H tcp://0.0.0.0:2375,但终端建议我使用dockerd,这显然不是Docker Client for mac附带的程序。有没有办法可以:

  • A-在我的mac机器上获取某种形式的dockerd
  • B-通过其他方法绕过dockerd的使用。

6个回答

7
安装 socat 命令:brew install socat
选择一个端口:(例如 8099)
运行:socat -d -d TCP-L:8099,fork UNIX:/var/run/docker.sock
然后将 tcp://localhost:8099 用作API URL
对我有效,希望能对你有所帮助。

这如何帮助解决关于在Mac上找到dockerd的问题? - Denis Howe

4

最后,我找到了Mac上类似于dockerd的配置。

在菜单栏中点击docker图标,选择“首选项”,再选择“高级”。

docker config


3
也许你可以提供具体步骤,说明你是如何做到那件事的。 - Dean Christian Armada
点击菜单栏中的 Docker 图标,选择“偏好设置”,然后进入“高级”选项。 - Noam Hacker
@DeanChristianArmada 已更新。 - chris
1
@YongHaoHu,认真的一年? :) - Dean Christian Armada
@DeanChristianArmada 我那时没有经常上 Stack Overflow,所以错过了你的回复。抱歉。-_- - chris
@DeanChristianArmada 当然可以。;P - chris

3

通过其他方法绕过使用 dockerd。(2016)

请注意,到了2022年,您可以完全不需要dockerd/ Docker Desktop。

请参阅Batuhan Apaydin的文章"一个现代化的工具包,在macOS上开始使用容器镜像,满足您的需求,而不需要Docker Daemon甚至是Docker Desktop。"

它使用 lima+nerdctl

nerdctl工具旨在成为Docker客户端的替代品。

而 Lima 是一个虚拟机监视器,可以启动 Linux 虚拟机,并自动进行文件共享、端口转发和 containerd。

Lima 的名称来自于 Linux Machines 的前两个大写字母的缩写。

Lima 的设计类似于 WSL2,但 Lima 主要针对 macOS 作为主要目标主机。
Lima 使用 QEMU 作为虚拟化技术的 hypervisor,并作为通用开源机器仿真器和虚拟化器。

Lima 还可以与其他容器引擎一起使用,例如 Podman,甚至用于非容器应用程序。

默认情况下,当 Lima 启动虚拟机时,它会以无根方式运行 buildkitd 和 containerd,并下载必要的客户端工具,如 buildctl、nerdctl 等。
一切都将为我们设置好。所以,剩下的就是构建、拉取和运行容器了。

对于 buildkit,Batuhan 建议使用 developer-guy/buildkit-machine

buildkit-machine 允许您在 macOS 环境中访问 buildkitd 守护程序。

为此,它在底层使用了一个名为 lima 的 Linux 子系统来实现。
lima 启动一个虚拟机,在其中以无根方式运行 buildkitd 守护程序,这意味着 buildkitd 守护程序的 sock 文件现在可以从 /run/user/<USERID>/buildkit/buildkitd 访问。

所以:不再需要 Docker Desktop / dockerd,并且可以以无根模式使用容器!

更多信息,请参见Bret Fisher的视频 "Free Docker Desktop Alternatives: DevOps and Docker Live Show (Ep 156)"(2022年1月)。


0

在 Mac 上运行 dockerd 是不被支持的。参考 this issue:

我认为在 Darwin 上不应该建议运行 dockerd。守护进程在 Linux 虚拟机中运行,因此您不需要(也不能)手动运行它。


0

如果您想在 Mac 上进行任何特定的配置,您可能已经安装了 Docker Desktop。Docker Desktop 支持使用下面截图中显示的用户界面进行配置。

enter image description here


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接