ソースを参照

introduce RuntimeVersion for code to check container runtime supports required features

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 2 年 前
コミット
7cb1f8baf2
1 ファイル変更17 行追加0 行削除
  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
 
 }