runc-run(8)

๐Ÿ“ฆ
version 1.5.2 ยท 3 versions
, in alpine 3.24, arch rolling, fedora 43, fedora 44, nixpkgs unstable, ubuntu resolute, ubuntu stonking

๐ŸŒธ NAME ๐ŸŒธ

okay bestie, gather round ๐Ÿ’– runc-run โ€” create and start a container. that's it, that's the whole vibe. this is the page for runc-run(8) from the System Manager's Manual, and we're gonna read it together, no skimming, i'm watching ๐Ÿ‘€


โœจ SYNOPSIS โœจ

runc run [option ...] container-id

that's the whole summoning ritual, bestie ๐Ÿ•ฏ๏ธโœจ


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so the run command creates an instance of a container from a bundle, and starts it. simple. iconic. no notes.

and if you wanna think of it in girl-math: run is literally just a shortcut for create and then start back to back ๐Ÿซถ like when you buy the outfit AND the shoes in one checkout. same energy. one command.


๐Ÿ’… OPTIONS ๐Ÿ’…

  • --bundle, -b path โ€” the path to the root of the bundle directory. default is the current directory, so if you're already standing in your bundle, you're good ๐ŸŽ€
  • --console-socket path โ€” the path to an AF_UNIX socket that's gonna receive a file descriptor pointing at the master end of the console's pseudoterminal. wanna know more? go read docs/terminals โŸจhttps://github.com/opencontainers/runc/blob/master/docs/terminals.mdโŸฉ ๐Ÿ“–
  • --detach, -d โ€” detach from the container's process. you go your way, it goes its way, no strings ๐Ÿ’ซ
  • --pid-file path โ€” tell it which file to write the initial container process' PID to. very "leave a note on the fridge" of you.
  • --no-subreaper โ€” disables the use of the subreaper that's normally used to reap reparented processes. bye subreaper ๐Ÿ‘‹
  • --no-pivot โ€” do not use pivot root to jail the process inside the rootfs. like, listen: this should not be used except in exceptional circumstances, and it may be unsafe from the security standpoint โš ๏ธ so don't just casually hit it because you're feeling spicy. this is not the spicy one. this is the danger one. ๐Ÿ’€
  • --no-new-keyring โ€” don't create a new session keyring for the container. consequence: the container will inherit the calling processes session key. lowkey passing down the family keyring ๐Ÿ˜ญ
  • --preserve-fds N โ€” pass N additional file descriptors into the container. the math is stdio + $LISTEN_FDS + N in total, and the default is 0 ๐Ÿงฎ
  • --keep โ€” keep the container's state directory and cgroup. this is genuinely helpful if you wanna check the state afterwards, like peeking at cgroup controllers once the container has exited ๐Ÿ‘‘ but heads up: if you use this option, you're gonna need a manual runc delete afterwards to clean up an exited container's artefacts. it's the price of keeping receipts, fr fr ๐Ÿงพ

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

  • runc(8). go read the parent page, iykyk ๐Ÿ’œ

and that's the whole page, bestie!! ๐ŸŽ€โœจ this was runc-run(8) from the System Manager's Manual โ€” runc's very own manual, periodt ๐Ÿ’…๐Ÿฆ‹ go create and start something iconic, ily, bye ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from