Podman: Difference between revisions
imported>JohnAZoidberg Add instructions for new Podman module |
imported>JohnAZoidberg No edit summary |
||
Line 2: | Line 2: | ||
== Install and configure podman with NixOS service configuration (NixOS unstable) == | == Install and configure podman with NixOS service configuration (NixOS unstable) == | ||
Since [https://github.com/NixOS/nixpkgs/pull/85604 PR 85604] using Podman is super simple: | |||
<syntaxHighlight lang="nix"> | <syntaxHighlight lang="nix"> |
Revision as of 08:40, 11 May 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 = {
# To map subuid and subguid for your user and allow rootless containers
containers.users = [ "yourusername" ];
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']
'';
};
}