Generování názvů kontejnerů v Dockeru

Když vytvoříte nový kontejner v dockeru pomocí docker run a nezadáte parametr --name, docker vytvoří kontejner a pojmenuje ho podle sebe. Vznikají tak zajímavé názvy jako: dazzling_swanson, loving_shockley, wonderful_curran či suspicious_knuth. Jedná se o jména vědců + přídavné jméno. Například Shockley se odkazuje na William Shockley co-invented the transistor – https://en.wikipedia.org/wiki/William_Shockley, Curran na Samuel Curran was an Irish physicist who worked alongside his wife during WWII and invented the proximity fuse čí Knuth na Donald Knuth – American computer scientist, author of „The Art of Computer Programming“ and creator of the TeX typesetting system. https://en.wikipedia.org/wiki/Donald_Knuth.

Nikdy ale kontejner nebude pojmenován boring_wozniak. Proč? Protože Steve Wozniak is not boring:

if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
	goto begin
}

Zde je celý kód metody generující názvy:

func GetRandomName(retry int) string {
begin:
	name := fmt.Sprintf("%s_%s", left[rand.Intn(len(left))], right[rand.Intn(len(right))])
	if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
		goto begin
	}

	if retry > 0 {
		name = fmt.Sprintf("%s%d", name, rand.Intn(10))
	}
	return name
}

Zdroj: frightanic.com/…-default-container-names/

Napsat komentář