umoci-raw-unpack(1)(#)

πŸ’– umoci-raw-unpack πŸ’–

okay bestie, so this is the umoci raw unpack page from the umoci manual β€” written by Aleksa Sarai back in SEPTEMBER 2018 and honestly? still iconic. it lives in section 1, and it's the one that just yeets a whole OCI image tag straight into a root filesystem. no bundle, no drama. periodt. πŸ’…


✨ NAME ✨

umoci raw unpack β€” unpacks an OCI image tag into a root filesystem πŸ¦‹

like. that's it. that's the job. she extracts, she serves, she leaves. πŸ‘‘


🌸 SYNOPSIS 🌸

umoci raw unpack [umoci-unpack(1) flags] rootfs

πŸŽ€ DESCRIPTION πŸŽ€

okay so here's the vibe: this command takes all of the layers and extracts them deterministically into a root filesystem at the path you hand it as rootfs. ✨

🚨 important bestie: that rootfs path must not already exist. like, at all. if it's already there, this is not happening. she needs a clean slate, a blank canvas, main character energy only. πŸ’€

πŸ’œ OPTIONS πŸ’œ

  • global options β€” those live over in umoci(1), go check her out 🫢
  • this subcommand's options β€” literally identical to umoci-unpack(1), with one single exception: instead of a bundle path, you're giving her a rootfs path. that's the whole difference. iykyk. 🌈

πŸ“ EXAMPLE πŸ“

okay so here's the full glow-up pipeline: download an image from a docker(1) registry using skopeo(1), unpack said image to a root filesystem, generate an OCI runtime configuration file with umoci-raw-runtime-config(1), and then spin up a brand new container with runc(8). 🧚✨

% skopeo copy docker://opensuse/amd64:42.2 oci:image:latest
# umoci raw unpack --image image rootfs
# umoci raw runtime-config --image image --rootfs rootfs config.json
# runc run ctr
[ container session ]

and the plot twist?? with --rootless you can do that exact whole thing without root privileges. no sudo, no gatekeeping. umoci will generate a configuration that works with rootless containers in runc(8). πŸ”₯

% skopeo copy docker://opensuse/amd64:42.2 oci:image:latest
% umoci raw unpack --image image --rootless rootfs
% umoci raw runtime-config --image image --rootfs rootfs --rootless config.json
% runc --root $HOME/runc run ctr
[ rootless container session ]

not me being obsessed with a rootless container session. πŸ˜­πŸ’–


πŸ‘‘ SEE ALSO πŸ‘‘


raw Β· umoci Β· umoci-raw-unpack(1)(#)

and that's the whole page, bestie β€” umoci raw unpack(1), section 1 of the umoci manual, brought to you by Aleksa Sarai, September 2018. go unpack something gorgeous. πŸŽ€πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from