Misteri informatici: perché il vostro container Docker non potrà mai chiamarsi boring_wozniak?

0

Se avete mai usato un container in Docker (ma in generale anche usando Podman) una delle cose imparate subito è il fatto che ogni container deve avere un nome, e se questo non viene fornito al comando allora il sistema ne genera uno in automatico, in modo che questo sia univoco.

I nomi sono piuttosto bizzarri e rispecchiano un poco la filosofia Ubuntu: un aggettivo e poi un nome, o precisamente un cognome, in qualche modo importante.

La lista di queste potenziali combinazioni si trova nel sorgente https://github.com/moby/moby/blob/master/pkg/namesgenerator/names-generator.go consultabile alla pagina GitHub di Moby, il progetto open-source che fornisce il framework per l’utilizzo di docker su tutti i sistemi.

Ebbene, nel sorgente del file go “names-generator.go” si trova questa simpatica porzione di codice:

func GetRandomName(retry int) string {
begin:
	name := fmt.Sprintf("%s_%s", left[rand.Intn(len(left))], right[rand.Intn(len(right))]) //nolint:gosec // G404: Use of weak random number generator (math/rand instead of crypto/rand)
	if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
		goto begin
	}

	if retry > 0 {
		name = fmt.Sprintf("%s%d", name, rand.Intn(10)) //nolint:gosec // G404: Use of weak random number generator (math/rand instead of crypto/rand)
	}
	return name
}

Qualsiasi combinazione dei nomi presi dalla lista è quindi considerata valida. Qualsiasi. Tranne “boring_wozniak”.

E sapete il perché? Basta leggere ciò che recita il commento:

Steve Wozniak is not boring

Stevw Wozniac non è noioso

L’inventore di Apple I ed Apple II è inammissibile possa essere definito noioso.

E sapete chi lo ha scritto? Nientemeno che Solomon Hykes, il creatore di Docker.

Certe volte l’informatica sa essere davvero divertente 🙂

Se volete leggere la storia completa, ecco l’articolo originale di Guray Yildirim!

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.