适用于Apple芯片的Docker桌面
预计阅读时间:3分钟
GA发行版提供了适用于Apple芯片的Mac版Docker Desktop for Mac。这使您可以选择本地开发环境来开发应用程序,并扩展了基于ARM的应用程序的开发管道。
适用于Apple芯片的Docker桌面还支持多平台映像,这使您可以为x86和ARM架构构建和运行映像,而无需设置复杂的交叉编译开发环境。此外,您可以使用docker buildx将多平台构建无缝集成到构建管道中,并使用Docker Hub识别和共享提供多平台映像的存储库。
Docker桌面3.3.1
2021-04-15
单击以下链接下载Docker Desktop。
系统要求
您必须安装Rosetta 2,因为某些二进制文件仍是Darwin / AMD64。要从命令行手动安装Rosetta 2,请运行以下命令:
softwareupdate --install-rosetta
我们希望在将来的版本中修复此问题。
已知的问题
-
并非所有映像都可用于ARM64体系结构。您可以添加
--platform linux/amd64
以在仿真下运行Intel映像。特别是,mysql映像不适用于ARM64。您可以通过使用mariadb映像来解决此问题。但是,由于QEMU有时无法运行该容器,因此在Apple Silicon计算机上运行基于Intel的容器的尝试可能会崩溃。文件系统更改通知API(例如
inotify
)在QEMU仿真下不起作用,请参阅docker / for-mac#5321。因此,我们建议您在Apple Silicon计算机上运行ARM64容器。与基于Intel的容器相比,这些容器还更快并且使用的内存更少。随着越来越多的图像被重建以支持多种体系结构,随着时间的流逝,我们希望这个问题不会越来越普遍。
ping
从容器内部到Internet的连接无法正常工作。要测试网络,我们建议使用curl
或wget
。参见docker / for-mac#5322。- 当TCP流半关闭时,用户有时可能会遇到数据丢失的情况。
自Docker Desktop RC 3起已修复
- Docker Desktop现在确保容器内的权限
/dev/null
以及其他设备已正确设置为0666
(rw-rw-rw-
)--privileged
。修复了docker / for-mac#5527。 - Docker Desktop现在减少了空闲CPU的消耗。
自Docker Desktop RC 2起已修复
- 更新到Linux内核5.10.25以提高可靠性。
自Docker Desktop RC 1起已修复
- 容器间HTTP和HTTPS通信现在已正确路由。修复了docker / for-mac#5476。
自Docker Desktop Preview 3.1.0起修复
- 该版本应自动更新到将来的版本。
- HTTP代理支持正在工作,包括
no_proxy
通过TLS SNI支持基于域名的规则。修复了docker / for-mac#2732。
自Apple Silicon Preview 7以来已修复
- Kubernetes现在可以工作(尽管您可能需要一次在“疑难解答”菜单中重置群集以重新生成证书)。
- osxfs文件共享有效。
- 在
host.docker.internal
和vm.docker.internal
DNS条目现在解决。 - 删除了硬编码的IP地址:Docker Desktop现在可以动态发现macOS分配的IP。
- 更新的版本包含一项更改,可以提高磁盘性能。
- Docker菜单中的Restart选项起作用。
反馈
您的反馈意见对我们很重要。通过在Mac版Docker桌面GitHub存储库中创建问题来让我们知道您的反馈意见。
我们还建议您加入Docker Community Slack并在#docker-desktop-mac频道中提问。
Docker桌面,M1,硅,苹果