소스 검색

[release] v0.5.3 - Support CPU without AVX

Yann Stepienik 2 년 전
부모
커밋
84ceae0591
2개의 변경된 파일13개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      package.json
  2. 12 1
      src/docker/run.go

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "cosmos-server",
-  "version": "0.5.2",
+  "version": "0.5.3",
   "description": "",
   "main": "test-server.js",
   "bugs": {

+ 12 - 1
src/docker/run.go

@@ -8,6 +8,9 @@ import (
 	"github.com/docker/docker/api/types/container"
 	"github.com/docker/docker/api/types"
 	"github.com/docker/docker/api/types/mount"
+	
+	"runtime"
+	"golang.org/x/sys/cpu"
 )
 
 type VolumeMount struct {
@@ -21,8 +24,16 @@ func NewDB() (string, error) {
 	mongoPass := utils.GenerateRandomString(24)
 	monHost := "cosmos-mongo-" + id
 	
+	imageName := "mongo:latest"
+
+	// if CPU is missing AVX, use 4.4
+	if runtime.GOARCH == "amd64" && !cpu.X86.HasAVX {
+		utils.Warn("CPU does not support AVX. Using mongo 4.4")
+		imageName = "mongo:4.4"
+	}
+
 	err := RunContainer(
-		"mongo:latest",
+		imageName,
 		monHost,
 		[]string{
 			"MONGO_INITDB_ROOT_USERNAME=" + mongoUser,