@fabian, спасибо за информацию. Я настроил свой файл cpu-models.conf следующим образом:
Code: cpu-model: avx
flags +avx;+avx2
phys-bits host
hidden 0
hv-vendor-id proxmox
reported-model kvm64
В моей Docker VM я вижу флаги AVX (у меня 4 ядра).
Code: root@docker05:~# grep avx /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
Тем не менее, MongoDB 5.0 (контейнер Docker внутри VM) все еще не запускается. Быстрый поиск в Google показывает, что это ошибка типа процессора.
Code: Nov 16 15:41:18 docker05 kernel: [77258.409533] traps: mongod[408967] trap invalid opcode ip:5621fe59615a sp:7fffc77adef0 error:0 in mongod[5621fa519000+51e1000]
Обратите внимание, что контейнеры могут видеть флаги AVX (те же флаги, что и на VM).
Code: root@docker05:~# docker run -it --rm alpine grep avx /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic avx hypervisor lahf_lm cpuid_fault pti avx2
Я мог бы изменить тип процессора на host, но предпочел бы использовать generic kvm64, если это возможно. Что я упустил? Это проблема с Proxmox или Mongo? Контейнер MongoDB Docker проверяет наличие AVX, и он не запустится, если AVX отсутствует, но я не вижу этой ошибки, что означает, что контейнер видит AVX.