python312Packages.rmscene: 0.6.0 -> 0.6.1 (#364388)
[NixPkgs.git] / nixos / doc / manual / administration / containers.chapter.md
blob50493b562b542bdcc1003e3a3c0e10623c0574fb
1 # Container Management {#ch-containers}
3 NixOS allows you to easily run other NixOS instances as *containers*.
4 Containers are a light-weight approach to virtualisation that runs
5 software in the container at the same speed as in the host system. NixOS
6 containers share the Nix store of the host, making container creation
7 very efficient.
9 ::: {.warning}
10 Currently, NixOS containers are not perfectly isolated from the host
11 system. This means that a user with root access to the container can do
12 things that affect the host. So you should not give container root
13 access to untrusted users.
14 :::
16 NixOS containers can be created in two ways: imperatively, using the
17 command `nixos-container`, and declaratively, by specifying them in your
18 `configuration.nix`. The declarative approach implies that containers
19 get upgraded along with your host system when you run `nixos-rebuild`,
20 which is often not what you want. By contrast, in the imperative
21 approach, containers are configured and updated independently from the
22 host system.
24 ```{=include=} sections
25 imperative-containers.section.md
26 declarative-containers.section.md
27 container-networking.section.md
28 ```