Anterior: Contêineres Guix, Acima: Contêineres [Conteúdo][Índice]
The Guix System provides a wide array of interconnected system services that are configured declaratively to form a dependable stateless GNU System foundation for whatever tasks you throw at it. Even when using Guix on a foreign distribution you can benefit from the design of Guix System by running a system instance as a container. Using the same kernel features of unshared namespaces mentioned in the previous section, the resulting Guix System instance is isolated from the host system and only shares file system locations that you explicitly declare.
A Guix System container differs from the shell process created by
guix shell --container
in a number of important ways. While in a
container shell the containerized process is a Bash shell process, a Guix
System container runs the Shepherd as PID 1. In a system container all
system services (veja Services em GNU Guix Reference Manual) are
set up just as they would be on a Guix System in a virtual machine or on
bare metal—this includes daemons managed by the GNU Shepherd
(veja Shepherd Services em GNU Guix Reference Manual) as well as
other kinds of extensions to the operating system (veja Service
Composition em GNU Guix Reference Manual).
The perceived increase in complexity of running a Guix System container is easily justified when dealing with more complex applications that have higher or just more rigid requirements on their execution contexts—configuration files, dedicated user accounts, directories for caches or log files, etc. In Guix System the demands of this kind of software are satisfied through the deployment of system services.
Anterior: Contêineres Guix, Acima: Contêineres [Conteúdo][Índice]