如何提高 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 结尾
- 打开Docker首选项->磁盘(Preferences -> Disk)
- 如果您看到:Docker.qcow2 或 Docker.raw 以外的其他名称,请重置为出厂默认值。
- 仅当您没有看到 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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: