Ci sono molti post su come fare che sono ottimi, ma ce n’è uno che non riesco a trovare o che non esiste e che includa:
- Per chi fa l’hosting autonomo, come configurare il sistema operativo host, ad esempio Ubuntu, solo per ospitare il contenitore Docker.
- Una volta che il sito è in esecuzione, quali sono le procedure operative standard da adottare con il sistema operativo di hosting, ad esempio il controllo di eventuali intrusioni, come passare dal sistema operativo host al contenitore, come archiviare le informazioni di base in preparazione di un problema, ecc.
So bene che per ogni sistema operativo e sito diverso il manuale sarà diverso, ma ci sono molte cose che saranno anche comuni.
Dato che il sistema operativo eseguirà solo un contenitore Docker, ci saranno file e servizi superflui, ma cosa è superfluo? Serve un’interfaccia grafica e tutti i meccanismi e i pacchetti necessari?
Una volta che il sito è in esecuzione, se dovesse accadere qualcosa e il sito si ferma, è necessario avere dettagli sul sito, come la sua configurazione, i passaggi per ricostruirlo da zero, la versione del software in esecuzione, ecc. Quali di questi dettagli sono importanti? Ho un’idea abbastanza chiara, ma sarebbe bello vedere cosa pensano e sanno gli altri per esperienza.
Come esempio, nella creazione di una SOP (Procedure Operative Standard) per il nostro sito, ecco i diversi risultati di pstree, uno dal sistema operativo host e uno all’interno del contenitore Docker. Il sistema host ha davvero bisogno di tutti quei processi? Nei prossimi giorni sono sicuro che conoscerò la risposta, ma forse altri lo sanno già e possono condividerlo con noi.
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager─┬─dhclient
│ └─2*[{NetworkManager}]
├─accounts-daemon───2*[{accounts-daemon}]
├─2*[agetty]
├─atd
├─containerd─┬─containerd-shim─┬─boot───runsvdir─┬─runsv───rsyslogd───2*[{rsyslogd}]
│ │ │ ├─runsv───cron
│ │ │ ├─runsv───unicorn_launche─┬─ruby─┬─ruby───22*[{ruby}]
│ │ │ │ │ ├─6*[ruby───8*[{ruby}]]
│ │ │ │ │ ├─2*[ruby───9*[{ruby}]]
│ │ │ │ │ └─5*[{ruby}]
│ │ │ │ └─sleep
│ │ │ ├─runsv─┬─redis-server───3*[{redis-server}]
│ │ │ │ └─svlogd
│ │ │ ├─runsv─┬─postmaster───9*[postmaster]
│ │ │ │ └─svlogd
│ │ │ └─runsv───nginx───5*[nginx]
│ │ └─10*[{containerd-shim}]
│ └─18*[{containerd}]
├─cron
├─dbus-daemon
├─dockerd─┬─docker-proxy───8*[{docker-proxy}]
│ ├─docker-proxy───7*[{docker-proxy}]
│ └─16*[{dockerd}]
├─irqbalance───{irqbalance}
├─lvmetad
├─lxcfs───4*[{lxcfs}]
├─networkd-dispat───{networkd-dispat}
├─polkitd───2*[{polkitd}]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───sshd───bash───pstree
├─sudo───docker───11*[{docker}]
├─systemd───(sd-pam)
├─systemd-journal
├─systemd-logind
├─systemd-resolve
├─systemd-timesyn───{systemd-timesyn}
├─systemd-udevd
└─wpa_supplicant
boot───runsvdir─┬─runsv───rsyslogd───2*[{rsyslogd}]
├─runsv───cron
├─runsv───unicorn_launche─┬─ruby─┬─ruby───22*[{ruby}]
│ │ ├─6*[ruby───8*[{ruby}]]
│ │ ├─2*[ruby───9*[{ruby}]]
│ │ └─5*[{ruby}]
│ └─sleep
├─runsv─┬─redis-server───3*[{redis-server}]
│ └─svlogd
├─runsv─┬─postmaster───9*[postmaster]
│ └─svlogd
└─runsv───nginx───5*[nginx]
MODIFICA
Per una configurazione minimale di Ubuntu, vedi: Ubuntu minimale
Nota: non l’ho ancora provato, ma lo condivido solo.
Ciò che è vecchio e funziona è solitamente ancora valido. Vedi: Discourse in un contenitore Docker di Sam. ![]()
Offre molte intuizioni sulla storia dell’uso di Discourse in Docker e su come funziona.