Podman: Difference between revisions
imported>JohnAZoidberg No edit summary |
imported>Fumesover Removing `virtualisation.containers.users` since its deprecated |
||
Line 9: | Line 9: | ||
{ | { | ||
virtualisation = { | virtualisation = { | ||
podman = { | podman = { | ||
enable = true; | enable = true; |
Revision as of 17:09, 17 August 2020
Podman can run rootless containers and be a drop-in replacement for Docker.
Install and configure podman with NixOS service configuration (NixOS unstable)
Since PR 85604 using Podman is super simple:
{ pkgs, ... }:
{
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
};
};
}
Old manual configuration (NixOS <=20.03)
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ podman runc conmon slirp4netns fuse-overlayfs ];
}
Configure subuid/subgid for your user
{
users.users.username.subUidRanges = [{ startUid = 100000; count = 65536; }];
users.users.username.subGidRanges = [{ startGid = 100000; count = 65536; }];
}
Create configuration files
{
environment.etc."containers/policy.json" = {
mode="0644";
text=''
{
"default": [
{
"type": "insecureAcceptAnything"
}
],
"transports":
{
"docker-daemon":
{
"": [{"type":"insecureAcceptAnything"}]
}
}
}
'';
};
environment.etc."containers/registries.conf" = {
mode="0644";
text=''
[registries.search]
registries = ['docker.io', 'quay.io']
'';
};
}