如何提高 Docker 在 Mac 下的文件读写速度?

以下步骤可让 Docker 在 Mac 中获得更好的磁盘性能。

开始之前:macOS High Sierra

在开始之前,请确保您正在运行 macOS High Sierra(10.13),并且使用的是 APFS 文件系统。 目前暂不支持 Fusion 驱动器。在『磁盘工具』中,您可以检查是否正在使用APFS:

第一步:下载并安装Edge版本

注意: 如果您不想安装Edge版本,那只能等待未来某一天这些功能被加入到常规发行版里。

使用 Docker Community Edition 的 Edge 版本而不是稳定版本。 可以从 Docker 官网下载 Edge 版本。

Edge版本提供了最先进的功能,并附带 已启用的实验功能

第二步:Disk.raw

确保您的磁盘映像以 .raw 结尾,而不是以 .qcow2 结尾

  1. 打开Docker首选项->磁盘(Preferences -> Disk)

  1. 如果您看到:Docker.qcow2 或 Docker.raw 以外的其他名称,请重置为出厂默认值。
  2. 仅当您没有看到 Docker.raw时:
    警告:请注意,您将丢失所有 Docker 容器和映像。 您需要再次下载所有镜像,因此建议您在较快的网络连接下操作。

3.1. 重置
3.2. 重置为出厂默认设置。

第三步:使用缓存标志

为了提高文件性能,可以在卷中添加 :cached 标志。

我只在大型的项目中使用它们(例如,开发中的 Symfony 项目)。不要将它们放在数据库中,因为您需要实时数据。

Docker 运行示例:

docker run -v ./html:/var/www/html:cached nginx

Docker撰写示例:

version: "3.4"
services:
  nginx:
    image: nginx:alpine
    ports:
      - 80:80
    volumes:
      - ./html:/var/www/html:cached

如果您不想更改 docker-compose.yml 文件(例如,如果团队中有人使用 Linux / Windows),则可以创建一个

docker-compose.override.yml 文件:

version: "3.4"
services:
  nginx:
    volumes:
      - ./html:/var/www/html:cached

有关:cached 标识的更多信息,请访问 Docker 官网

Tip:重新启动 Mac 版 Docker

有时候 Macbook 休眠模式后,Docker 的运行速度变得很慢。此时你可以尝试重启:

希望这些技巧能为您提供更好的磁盘 I / O, 如果您有更多的技巧分享,请在评论中留言。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://medium.com/@TomKeur/how-get-bett...

译文地址:https://learnku.com/server/t/37225

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!