@@ -467,6 +467,11 @@ func (e *Engine) EngineToContainerNode() *types.ContainerNode {
467467// Update API Version in apiClient
468468func (e * Engine ) updateClientVersionFromServer (serverVersion string ) {
469469 // v will be >= 1.8, since this is checked earlier
470+ // for server/API version reference, check https://docs.docker.com/engine/api/
471+ // new versions of Docker look like 17.06-ce etc.
472+ s := strings .Split (serverVersion , "-" )
473+ serverVersion = s [0 ]
474+
470475 switch {
471476 case versions .LessThan (serverVersion , "1.9" ):
472477 e .apiClient .UpdateClientVersion ("1.20" )
@@ -478,9 +483,20 @@ func (e *Engine) updateClientVersionFromServer(serverVersion string) {
478483 e .apiClient .UpdateClientVersion ("1.23" )
479484 case versions .LessThan (serverVersion , "1.13" ):
480485 e .apiClient .UpdateClientVersion ("1.24" )
481- default :
486+ case versions . LessThan ( serverVersion , "1.13.1" ) :
482487 e .apiClient .UpdateClientVersion ("1.25" )
488+ case versions .LessThan (serverVersion , "17.03.1" ) || serverVersion == "1.13.1" :
489+ e .apiClient .UpdateClientVersion ("1.26" )
490+ case versions .LessThan (serverVersion , "17.04" ):
491+ e .apiClient .UpdateClientVersion ("1.27" )
492+ case versions .LessThan (serverVersion , "17.05" ):
493+ e .apiClient .UpdateClientVersion ("1.28" )
494+ case versions .LessThan (serverVersion , "17.06" ):
495+ e .apiClient .UpdateClientVersion ("1.29" )
496+ default :
497+ e .apiClient .UpdateClientVersion ("1.30" )
483498 }
499+ fmt .Println ("FINAL CLIENT VERSION" , e .apiClient .ClientVersion ())
484500}
485501
486502// Gather engine specs (CPU, memory, constraints, ...).
0 commit comments