mirror of
https://github.com/bingohuang/docker-labs.git
synced 2025-07-14 01:57:32 +08:00
25 lines
488 B
Go
25 lines
488 B
Go
package services
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/docker/docker/api/types/swarm"
|
|
)
|
|
|
|
type checkSwarmStatusTask struct {
|
|
}
|
|
|
|
func (c checkSwarmStatusTask) Run(i *Instance) error {
|
|
if info, err := GetDaemonInfo(i); err == nil {
|
|
if info.Swarm.LocalNodeState != swarm.LocalNodeStateInactive && info.Swarm.LocalNodeState != swarm.LocalNodeStateLocked {
|
|
i.IsManager = &info.Swarm.ControlAvailable
|
|
} else {
|
|
i.IsManager = nil
|
|
}
|
|
} else {
|
|
log.Println(err)
|
|
return err
|
|
}
|
|
return nil
|
|
}
|