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>
 | 
						|
 |