macos - 如何在非常旧的 Mac 上安装和运行 Docker Desktop 和 DDEV?
问题描述
Apple 仅支持前两个主要操作系统版本。这导致 Docker 和 Homebrew 放弃了对这些的支持。在撰写本文时,macOS Monterey 是当前版本,而最后支持的版本是 macOS Catalina。对于 macOS Catalina,最低硬件要求是 2012 年中期的 MacBook Pro/Air。许多仍然不错的计算机都被淘汰了。但是如何在只能运行例如 macOS High Sierra 顶部的旧 Mac 上设置 Docker 和 DDEV。
解决方案
1.安装Docker
要查找不再受支持的先前版本,您必须访问https://docs.docker.com/desktop/mac/release-notes/2.x/。对于 High Sierra,最后支持的版本是Docker Desktop Community 2.4.0.0
. 在https://docs.docker.com/desktop/mac/release-notes/archive/上有更旧版本的 MacOS 版本。
2. 设置 Docker
安装后转到 Docker 首选项并进入资源选项卡。默认值通常适用于较小的项目。如果你有可用的硬件资源,一个非常简单的性能调整就是将 Docker 的 RAM 限制增加到板上可用数量的一半。如果您的计算机有超过 2 个 CPU 内核可用,那么调整可用内核的限制以减轻高 I/O 负载也是有意义的。一般来说,您应该对这些设置进行一些尝试,看看什么会带来最佳的用户体验。除了感知体验之外,docker stats 提供了进一步的线索,这些线索提供了正在运行的 ddev 设置所消耗的资源。在那里您可以看到使用了多少 CPU,消耗了多少内存,以及网络 i/o 和块 i/o 和 PIDS。总而言之,您调整并使用分配的资源,直到您达到日常使用的最佳位置。最后,您还应该确保“磁盘映像位置”路径以文件类型结尾Docker.raw
以确保您使用最新的图像格式来提高性能。如果后缀是其他东西,请转到~/Library/Group Containers/group.com.docker/settings.json
并将filePath
属性从.qcow2
to更改.raw
。
3. 不使用 Homebrew 安装 DDEV 和 MKCERT
由于旧版本的 MacOS 不再支持 Homebrew,安装或更新到最新版本的 DDEV 和 MKCERT 最方便的选项是在终端中下载并运行以下行:
curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh
4. 为 DDEV 全局激活 Mutagen
随着 DDEV 1.8.0 的发布,引入了使用 Mutagen 代替 NFS 文件系统的选项。这显着提升了旧 Mac 的性能,使它们可以再次与 Docker 一起使用。只需在终端中输入以下行。
ddev config global --mutagen-enabled`
该行正在创建全局设置文件,~/.ddev/global_config.yaml
并默认为每个未来项目启用 Mutagen。因此,您不必担心为每个新创建的项目激活 Mutagen。可能会在文件中手动设置一个额外的外观看门nfs_mount_enabled
人false
任务global_config.yaml
。
5. 建立一个 DDEV 项目
现在创建一个空文件夹并运行以下命令:
ddev config
并根据您的需要配置项目以将该文件夹与 DDEV 一起使用并以
ddev start
如果您打算使用 Composer,最后一条与性能相关的评论。强烈建议使用 Composer 2。DDEV 提供了使用版本 1 或 2 的能力——默认设置为版本 2。要查看版本 2 是否处于活动状态,只需检查正在运行的 Web 容器中的 Composer 版本:
ddev . composer --version
推荐阅读
- gstreamer - python GstRtspServer-如何获取已添加到挂载点的工厂列表?
- dynamic - 如何在目标列 Power BI 中动态计算 Gap & Over & YTD
- flutter - Flutter 图表系列图例 id 太长
- r - 您如何使条形宽度均匀,并将建议的修复应用于我的数据?
- c++ - 坚持编译 QDoc 以在 Windows 上构建 qt5
- sharepoint - Microsoft Sharepoint 2019 安装搜索服务应用程序错误
- java - SimpleDateFormat 周年
- javascript - 我正在尝试创建 Google Chrome 扩展程序
- python - 当我在终端中运行“python2 ./train.py”时出现此错误:ImportError: No module named tensorflow
- android - 如何使用 react-native-svg 库加载本地 svg 文件