Navio é um container runtime extremamente simples que tem por objetivo criar contêineres com base em recursos de namespace, cgroups e chroot do linux. O Navio sobe contêineres, ou seja, processos com isolamento de namespaces (PID, MOUNT ...), possível limitação da quantidade de recursos usados via cgroups e um mini sistema operacional que atualmente pode ser ubuntu, alpine ou arch linux.
Contêineres são simplesmente um conjunto de processos linux com diversas camadas de isolamento.
Limits what process can see. Created with syscalls
https://www.infoq.com/br/articles/build-a-container-golang/
https://medium.com/@lets00/namespace-14c4e64d0559
https://medium.com/@teddyking/linux-namespaces-850489d3ccf
https://medium.com/@teddyking/namespaces-in-go-basics-e3f0fc1ff69a
-
Unix Timesharing System
-
Process IDs
-
Mounts
-
Network
-
User IDs
-
InterProcess Comms
What you can use
-
Memory
-
CPU
-
I/O
-
Process numbers
-
A espetacular talk feita por @lizrice que ensina o que são contêineres e como criá-los do zero de uma forma extremamente prática
-
Ícone do Navio feito por Freepik from www.flaticon.com