35 lines
1.5 KiB
XML
35 lines
1.5 KiB
XML
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||
|
version="5.0"
|
||
|
xml:id="ch-containers">
|
||
|
|
||
|
<title>Container Management</title>
|
||
|
|
||
|
<para>NixOS allows you to easily run other NixOS instances as
|
||
|
<emphasis>containers</emphasis>. Containers are a light-weight
|
||
|
approach to virtualisation that runs software in the container at the
|
||
|
same speed as in the host system. NixOS containers share the Nix store
|
||
|
of the host, making container creation very efficient.</para>
|
||
|
|
||
|
<warning><para>Currently, NixOS containers are not perfectly isolated
|
||
|
from the host system. This means that a user with root access to the
|
||
|
container can do things that affect the host. So you should not give
|
||
|
container root access to untrusted users.</para></warning>
|
||
|
|
||
|
<para>NixOS containers can be created in two ways: imperatively, using
|
||
|
the command <command>nixos-container</command>, and declaratively, by
|
||
|
specifying them in your <filename>configuration.nix</filename>. The
|
||
|
declarative approach implies that containers get upgraded along with
|
||
|
your host system when you run <command>nixos-rebuild</command>, which
|
||
|
is often not what you want. By contrast, in the imperative approach,
|
||
|
containers are configured and updated independently from the host
|
||
|
system.</para>
|
||
|
|
||
|
<xi:include href="imperative-containers.xml" />
|
||
|
<xi:include href="declarative-containers.xml" />
|
||
|
<xi:include href="container-networking.xml" />
|
||
|
|
||
|
</chapter>
|
||
|
|