小编geo*_*riv的帖子

在 Mac Apple Silicon M2 上运行 Docker 容器:平台兼容性和执行错误 (linux/arm64)

我是 macOS 和 Docker 的新手。当我尝试在 Apple Silicon M2 上使用 Docker 启动我的项目时,遇到了一系列障碍。我认为我面临的问题与图像之间的不良兼容性有关:webdevops/php-apache-dev:7.2 和我正在使用的平台。

\n

我的 docker-compose.yml 如下所示:

\n
version: "3"\nservices:\n  web:\n    image: webdevops/php-apache-dev:7.2\n
Run Code Online (Sandbox Code Playgroud)\n

另外,我在某些方面对其进行了更改以添加:

\n
version: "3"\nservices:\n  web:\n    platform:linux/amd64\n    image: webdevops/php-apache-dev:7.2\n
Run Code Online (Sandbox Code Playgroud)\n

但不断出现错误。

\n

我不知道还能尝试什么。如果您有任何见解或解决方案可以分享,我将非常感谢您的指导!

\n

当我启动 docker-compose up 时,我在 my_project 容器内收到一条错误消息,如下所示:

\n
goroutine 1 [running]:\nruntime.systemstack_switch()\n    /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:281 fp=0xc420028788 sp=0xc420028780\nruntime.main()\n    /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:127 +0x6c fp=0xc4200287e0 sp=0xc420028788\nruntime.goexit()\n    /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc4200287e8 sp=0xc4200287e0\nmy_project exited with code 2\n\n
Run Code Online (Sandbox Code Playgroud)\n

为了排除故障,我尝试将 platform: linux/amd64 密钥添加到 docker-compose.yml 文件中的 Web 服务。然而,这导致了另一个障碍:

\n
Error response from daemon: image with reference webdevops/php-apache-dev:7.2 was …
Run Code Online (Sandbox Code Playgroud)

docker arm64 docker-compose apple-silicon apple-m2

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

apple-m2 ×1

apple-silicon ×1

arm64 ×1

docker ×1

docker-compose ×1