Browse Source

Merge pull request #11206 from ndeloof/check_runtime

introduce RuntimeVersion for code to check container runtime support
Guillaume Lours 1 year ago
parent
commit
a1b7bee094
1 changed files with 17 additions and 0 deletions
  1. 17 0
      pkg/compose/compose.go

+ 17 - 0
pkg/compose/compose.go

@@ -295,5 +295,22 @@ func (s *composeService) isSWarmEnabled(ctx context.Context) (bool, error) {
 		}
 	})
 	return swarmEnabled.val, swarmEnabled.err
+}
+
+var runtimeVersion = struct {
+	once sync.Once
+	val  string
+	err  error
+}{}
+
+func (s *composeService) RuntimeVersion(ctx context.Context) (string, error) {
+	runtimeVersion.once.Do(func() {
+		version, err := s.dockerCli.Client().ServerVersion(ctx)
+		if err != nil {
+			runtimeVersion.err = err
+		}
+		runtimeVersion.val = version.APIVersion
+	})
+	return runtimeVersion.val, runtimeVersion.err
 
 }