Container Images
RF Swift Container Images
RF Swift provides a comprehensive set of container images to support various radio frequency and hardware security workflows. This guide explains how to manage these images and understand the available options.
Image Management Commands
RF Swift offers the images
command group to interact with both remote and local images:
rfswift images --help
Key subcommands include:
remote
: List available images from the repositorylocal
: List downloaded images on your system
Remote Image Repository
Listing Available Images
To view all available images for your architecture from the official repository:
rfswift images remote
This command displays a table of available images with important details:
đŋ Official Images
ââââââââââââââââââââââââââââââââŦâââââââââââââââââââââââŦâââââââââââââââââââââââââââââââââââââââââââââââââŦâââââââââââââââ
â Tag â Pushed Date â Image â Architecture â
ââââââââââââââââââââââââââââââââŧâââââââââââââââââââââââŧâââââââââââââââââââââââââââââââââââââââââââââââââŧâââââââââââââââ¤
â sdr_full_nvidiagpu_amd64 â 2025-03-24T17:37:59Z â penthertz/rfswift:sdr_full_nvidiagpu_amd64 â amd64 â
â hardware â 2025-03-24T17:33:21Z â penthertz/rfswift:hardware â amd64 â
â sdr_full_intelgpu_amd64 â 2025-03-24T17:09:38Z â penthertz/rfswift:sdr_full_intelgpu_amd64 â amd64 â
â sdr_full â 2025-03-24T16:43:07Z â penthertz/rfswift:sdr_full â amd64 â
â telecom_5G â 2025-03-24T16:36:22Z â penthertz/rfswift:telecom_5G â amd64 â
...
Understanding Image Tags
The image naming system follows a consistent pattern:
- Generic tags (e.g.,
sdr_full
,bluetooth
) work across supported architectures with multi-architecture builds - Architecture-specific tags (e.g.,
sdr_light_amd64
,bluetooth_arm64
) target single architectures - Specialized hardware tags (e.g.,
sdr_full_nvidiagpu_amd64
) include optimizations for specific hardware
Core Image Categories
Category | Description | Example Images |
---|---|---|
SDR | Software-defined radio tools | sdr_light , sdr_full , sdr_full_nvidiagpu_amd64 |
Telecom | Mobile network analysis | telecom_utils , telecom_2Gto3G , telecom_4G_5GNSA , telecom_5G |
Short-range | Bluetooth, Wi-Fi and RFID | bluetooth , wifi , rfid |
Hardware | Hardware security tools | hardware , reversing |
Automotive | Vehicle communications | automotive |
Base images | Foundation for other images | corebuild , sdrsa_devices |
Image Hierarchy
RF Swift images are structured in a layered hierarchy, with specialized images building on more general base images:
graph TD; A[corebuild]-->B[sdrsa_devices]; A-->C[rfid]; A-->D[automotive]; A-->E[reversing]; A-->F[sdrsa_devices_antsdr]; A-->G[sdrsa_devices_rtlsdrv4]; B[sdrsa_devices]-->H[sdr_light]; B[sdrsa_devices]-->I[bluetooth]; B[sdrsa_devices]-->J[wifi]; B[sdrsa_devices]-->L[telecom_utils]; B[sdrsa_devices]-->R[hardware]; B[sdrsa_devices]-->S[network]; L-->M[telecom_2Gto3G]; L-->N[telecom_4G_5GNSA]; L-->O[telecom_5G]; H-->K[sdr_full]
This hierarchy provides several benefits:
- Layer reuse: Reduces overall disk space when using multiple images
- Consistency: Common tools are identical across related images
- Specialization: Higher-level images include more specialized tools
- Base for customization: You can build your own images starting from any level
Recommended Images
Tag | Supported OS | x86_64/amd64 | arm64/v8 | riscv64 | Description |
---|---|---|---|---|---|
corebuild | - Linux - Windows - macOS | â | â | â | Base image including prerequisites for compiling tools and libraries for applications needing GUI and some other necessary tools |
sdrsa_devices | - Linux - Windows - macOS | â | â | â | Contains all drivers of devices included in sdrsa_devices.docker |
sdrsa_devices_antsdr | - Linux - Windows | â | â | â | Contains all drivers of devices included in sdrsa_devices.docker but replacing official UHD drivers by ANTSDR ones |
sdrsa_devices_rtlsdrv4 | - Linux - Windows - macOS | â | â | â | Contains all drivers of devices included in sdrsa_devices.docker but replacing default RTL-SDR drivers to support v4 version for the RTL-SDR blog |
sdr_light | - Linux - Windows - macOS | â | â | â | Light image built for SDR uses with limited number of tools used in sdr_light.docker file |
sdr_light_intelgpu | - Linux - Windows | â | â | â | same as sdr_light but with Intel GPU driver and gr-fosphor |
sdr_light_nvidiagpu | - Linux - Windows | â | â | â | same as sdr_light but with NVidia GPU driver and gr-fosphor |
sdr_full | - Linux - Windows - macOS | â | â | â | Full image including all SDR tools used in sdr_full.docker file |
wifi_basic | - Linux - Windows - macOS | â | â | â | Wi-Fi image for security tests using tools included in wifi_basic.docker |
wifi_full | - Linux - Windows - macOS | â | â | â | Wi-Fi image for security tests using tools included in wifi_full.docker |
rfid | - Linux - Windows - macOS | â | â | â | RFID image for security tests using tools included in rfid.docker |
reversing | - Linux - Windows - macOS | â | â | â (not yet) | Reversing image for security tests using tools included in reversing.docker |
automotive | - Linux - Windows - macOS | â | â | â (not yet) | Automotive image for security tests using tools included in automotive.docker |
bluetooth | - Linux - Windows - macOS | â | â | â | Bluetooth classic and LE image for security tests using tools in bluetooth.docker |
telecom_utils | - Linux - Windows - macOS | â | â | â | Telecom image for security tests using tools included in telecom_utils.docker |
telecom_2Gto3G | - Linux - Windows - macOS | â | â | â | Telecom image for security tests using tools included in telecom_2Gto3G.docker |
telecom_4G_5GNSA | - Linux - Windows - macOS | â | â | â | Telecom image for security tests using tools included in telecom_4G_5GNSA.docker |
telecom_5G | - Linux - Windows - macOS | â | â | â | Telecom image for security tests using tools included in telecom_4G_5GNSA.docker |
network | - Linux - Windows - macOS | â | â | â (not yet) | Image for reversing security tests using tools included in reversing.docker |
hardware | - Linux - Windows - macOS | â | â | â | Image for hardware security tests using tools included in hardware.docker |
Managing Local Images
Listing Local Images
To see images you’ve already downloaded or created:
rfswift images local
This shows details about local images, including their status:
đĻ RF Swift Images
ââââââââââââââââââââââââŦââââââââââââââââââŦâââââââââââââââŦââââââââââââââââââââââââââââŦââââââââââââââŦâââââââââââââ
â Repository â Tag â Image ID â Created â Size â Status â
ââââââââââââââââââââââââŧââââââââââââââââââŧâââââââââââââââŧââââââââââââââââââââââââââââŧââââââââââââââŧâââââââââââââ¤
â myrfswift â latest â sha256:0bdb2 â 2024-09-01T00:56:27+02:00 â 16635.22 MB â Custom â
â penthertz/rfswiftdev â sdr_full_amd64 â sha256:0bdb2 â 2024-09-01T00:56:27+02:00 â 16635.22 MB â Up to date â
â penthertz/rfswiftdev â sdr_light_amd64 â sha256:476c0 â 2024-09-01T00:34:55+02:00 â 9617.12 MB â Up to date â
â penthertz/rfswift â sdr_full â sha256:50ce1 â 2024-08-02T14:45:46+02:00 â 10383.56 MB â Custom â
ââââââââââââââââââââââââ´ââââââââââââââââââ´âââââââââââââââ´ââââââââââââââââââââââââââââ´ââââââââââââââ´âââââââââââââ
Image Status Indicators:
- Up to date: Image matches the latest version in the repository
- Update available: A newer version exists in the repository
- Custom: Image has been modified locally (through tagging or container commits)
Pulling Images
To download an image from the repository:
rfswift images pull -i sdr_light
Options:
-i, --image
: Image tag to download (required)-t, --tag
: Local tag to apply to the pulled image (optional)-r, --repository
: Alternate repository source (optional)
Example with custom tag:
rfswift images pull -i sdr_full -t my_sdr:v1
Updating Images
To update an image that shows “Update available”:
rfswift images pull -i sdr_full
RF Swift will automatically download the latest version.
Saving and Loading Images
For offline use or transfer between systems:
# Export an image to a file
rfswift images save -i sdr_light -o sdr_light.tar.gz
# Import an image from a file
rfswift images load -i sdr_light.tar.gz
Disk Space Considerations
RF Swift images vary in size based on included tools:
Image Type | Typical Size Range | Examples |
---|---|---|
Base images | 2-5 GB | corebuild |
Specialized tools | 5-10 GB | bluetooth , wifi , reversing |
Comprehensive suites | 10-20 GB | sdr_full , telecom_5G |
Important Note on Actual Disk Usage:
The sizes displayed by rfswift images local
show the virtual size of each image. However, due to Docker’s layer-based architecture and the hierarchical structure of RF Swift images, the actual disk space used is often significantly less than the sum of all image sizes.
For example, if you have both sdr_light
(9GB) and sdr_full
(16GB) images:
- The displayed total might suggest 25GB of usage
- The actual disk usage might be closer to 17GB since both images share common base layers
This layer sharing happens automatically and is one of the key benefits of RF Swift’s hierarchical image design. When you pull multiple related images (like those in the same branch of the hierarchy diagram), you’re only downloading and storing the unique layers for each image.
To manage disk space efficiently:
- Use specialized images rather than all-inclusive ones when possible
- Leverage the image hierarchy - related images share layers and consume less space
- Remove unused images with
rfswift delete -c image:tag
- Clean up unused containers with
rfswift remove -c container_name
- Consider creating custom images with only the tools you need
Next Steps
Explore these sections to learn more about available tools and configuration options: