J'ai Mac avec M1 et si j'essaie d'exécuter Docker Conteneur avec Nginx-Proxy de Jwilder, j'ai eu cette erreur:
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
S'il vous plaît savez-vous comment résoudre ce problème?
Docker a la capacité d'émuler AMD64
au arm64
à travers QEM qui est intégré à Docker Desktop pour Mac .
Programmes compilés pour AMD64
/x86_64
devrait toujours fonctionner à travers cette émulation si le dockerfile est construit pour AMD64
DockerFile:
FROM --platform=linux/AMD64 your_AMD64_image
...
ou variable env variable DOCKER_DEFAULT_PLATFORM=linux/AMD64
Le problème est qu'il semble y avoir un bogue dans QEMU.
Voici un problème similaire: https://gitlab.com/qemu-project/qemu/-/issues/34
J'exécute MySQL Docker dans mon M1 (Arm64) et j'ai eu la même erreur lorsque j'essaie de construire un conteneur. Je change l'image MySQL Docker pour être image: mysql:8.0.26
, platform: linux/x86_64
et ajouter default_authentication_plugin=mysql_native_password
à my.cnf puis je reconstruit un conteneur Docker à travers ces paramètres et cela fonctionne.