WWCTL(1)
π
wwctl-image-import β no wait, bestie, let's talk about wwctl (section 1, obviously)
Okay so picture this: you're deep in the wwctl man page (yes, the manual named wwctl, section 1, we stan) and you stumble into the image import corner of it. That's this page. Sit down, grab a snack π, and let me tell you everything.
β¨ NAME β¨
wwctl-image-import β Import an image into Warewulf π
Like, that's the whole vibe. You have an image, Warewulf wants it, this command makes the introduction.
π¦ SYNOPSIS π¦
wwctl image import [OPTIONS] SOURCE [NAME]
That's it. That's the whole incantation. SOURCE is required, NAME is the optional glow-up π
, and [OPTIONS]... well, keep reading, there are so many.
πΈ DESCRIPTION πΈ
So this command literally pulls an image and imports it into Warewulf from SOURCE, and if you feel like it, optionally renames it to NAME. The SOURCE has got to be in a supported URI format, or it's not gonna slay. The formats are, and I'm quoting these exactly because they matter:
docker://registry.example.org/example:latestdocker-daemon://example:latestfile://path/to/archive/tar/ball/path/to/archive/tar/ball/path/to/chroot/
And here's the part that actually matters: the imported images are used to create bootable images. Bootable. Images. Main character energy fr fr π₯. So like, don't mess this up.
π OPTIONS π
Okay, bestie, here's the full roster. No skips, no cuts, we're going through all of them π«Ά
-b,--build[=false]β Build the image after pulling it. Yes, pull and build, multi-tasking icon behavior.-f,--force[=false]β Removes the existing image and imports a new image with that name. Rude? Slightly. Effective? Absolutely π-h,--help[=false]β Help forimport. The classic "wait what does this do again" button.--nohttps[=false]β Ignores wrong TLS certificates. It supersedes the envWAREWULF_OCI_NOHTTPS. Like, it overrides it, periodt.--password=""β Sets the password for access to the registry. It supersedes the envWAREWULF_OCI_PASSWORD.--platform=""β Sets another hardware platform, e.g.amd64orarm64. It supersedes the envWAREWULF_OCI_PLATFORM.--syncuser[=false]β Synchronizes UIDs/GIDs from host to image. Keeping everyone's IDs matching, iconic.-u,--update[=false]β Overwrites files in an existing image with the files of the remote image. Note the word overwrites β that's a real thing that happens π--username=""β Sets the username for access to the registry. It supersedes the envWAREWULF_OCI_USERNAME.
Lowkey important: those[=false]defaults mean these bad boys are off unless you turn them on. And every one of those--nohttps,--password,--platform,--usernameflags supersedes its matchingWAREWULF_OCI_*environment variable. The flag wins. Always. π
π OPTIONS INHERITED FROM PARENT COMMANDS π
Not this command's own flags, but they come along for the ride from the parent. You get them anyway, because sharing is caring:
-d,--debug[=false]β Run with debugging messages enabled. For when you need to see everything.-v,--verbose[=false]β Run with increased verbosity. Chatty. Love that for us.--warewulfconf=""β Set the warewulf configuration file.
π§ EXAMPLE π§
Real-world, copy-pasteable, chef's kiss:
wwctl image import docker://ghcr.io/warewulf/warewulf-rockylinux:8 rockylinux-8
Pull it from the registry, name it rockylinux-8. Boom. Done. Slay π
β SEE ALSO β
Go read that one too, iykyk π¦
π HISTORY π
16-Sep-2026 β Auto generated by spf13/cobra
Okay that's the whole page!! π One last thing before you close the tab: this beauty was Auto generated by spf13/cobra (yes, that's the source, and the version is right there in it), and it's dated Sep 2026. That's the footer, bestie β you're all caught up. Now go import something iconic πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: warewulf4-man 4.7.1-bp160.1.1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms