docker - 无法创建新的 OS 线程(已经有 2 个;errno=22)

标签 docker apple-m1 jwilder-nginx-proxy

我有带 M1 的 mac,如果我尝试通过 jwilder 使用 nginx-proxy 运行 docker 容器,则会出现此错误:

api_clever4sms_nginx-proxy | runtime: failed to create new OS thread (have 2 already; errno=22)
api_clever4sms_nginx-proxy | fatal error: newosproc
api_clever4sms_nginx-proxy | 
api_clever4sms_nginx-proxy | runtime stack:
api_clever4sms_nginx-proxy | runtime.throw(0x884500, 0x9)
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/panic.go:530 +0x90
api_clever4sms_nginx-proxy | runtime.newosproc(0xc820026000, 0xc820035fc0)
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c
api_clever4sms_nginx-proxy | runtime.newm(0x932358, 0x0)
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/proc.go:1513 +0x135
api_clever4sms_nginx-proxy | runtime.main.func1()
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/proc.go:125 +0x2c
api_clever4sms_nginx-proxy | runtime.systemstack(0xa8e800)
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79
api_clever4sms_nginx-proxy | runtime.mstart()
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/proc.go:1048
api_clever4sms_nginx-proxy | 
api_clever4sms_nginx-proxy | goroutine 1 [running]:
api_clever4sms_nginx-proxy | runtime.systemstack_switch()
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768
api_clever4sms_nginx-proxy | runtime.main()
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770
api_clever4sms_nginx-proxy | runtime.goexit()
api_clever4sms_nginx-proxy |    /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0
api_clever4sms_nginx-proxy exited with code 2
请问你知道如何解决这个问题吗?

最佳答案

您可以看到 here 来自 jwilder 的所有 nginx-proxy 图像仅针对单个平台构建 - amd64 ,而您全新的 mac 是 arm64
我会尝试做的是从 this image's repo 获取来源
并自己在 arm64 mac 上本地从 Dockerfile 构建它。这样,当您检查创建的 docker 镜像时,您会看到该平台现在是 arm64。您发布的这些异常将消失。
当您执行此类操作时,查找作为所需图像基础的图像链也始终很重要,即您的图像是从 nginx:1.19.3-alpine 构建的,您可以在 Dockerfile 中看到。 image 是多平台的,支持 arm64。

关于docker - 无法创建新的 OS 线程(已经有 2 个;errno=22),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66349391/

相关文章:

amazon-web-services - 如何使用efsVolumeConfiguration任务定义参数Beta(由AWS于2020年1月启动)在ECS集群上安装EFS

laravel - 普通 HTTP 请求被发送到 HTTPS 端口报错 Docker nginx

nginx - 如何在 https NGINX 中将非 www 重定向到 www

docker-compose - 将 Terraform 与 docker-compose 和 nginx-proxy 一起使用

使用 AWS cloudformation 的 Docker 容器

docker - Kubernetes 不显示节点

macos - 应用程序根据启动方法报告不同的架构

在 M1 mac 上的 VM (Parallels) 中进行 Docker-compose

mysql - 使用 wordpress 和 mysql 容器的 Docker Nginx 反向代理错误网关