func (ctx *ClusterContext) nextContainerName(group string) string { gSeq := func(g string, ctx *ClusterContext) *sequence.Seq { sequenceLock.Lock() defer sequenceLock.Unlock() gSeq, ok := ctx.cSeqs[group] if ok { return gSeq } gSeq = &sequence.Seq{} gSeq.Max(0) ctx.cSeqs[group] = gSeq return gSeq }(group, ctx) seq := gSeq.Next() cn := dcontainer.ContainerName{ Group: group, Seq: seq, } return cn.GetName() }