In our last article, we talked about Cloud Service Provider CLIs.

Now, we will focus on containerization software. Podman and Docker are both native to Linux.

Therefore, when you install them on other operating systems, they require a Linux VM to run.

macOS has its own solution macOS container. By providing native software, Apple controls how they run the Linux VM over their UNIX-based system. Below are the essential CLI commands for all three containerization platforms.

Container Lifecycle & Diagnostics

GoalpodmandockermacOS container
List Containerspodman psdocker ps
docker container ls
container ls
container list
Check Logspodman logsdocker logscontainer logs
Inspect Meta datapodman inspectdocker inspectcontainer inspect
Enter Shellpodman exec -itdocker exec -itcontainer shell
Start Containerpodman startdocker startcontainer start
Stop Containerpodman stopdocker stopcontainer stop
Create New Containerpodman createdocker createcontainer create
Run (Create+Start)podman rundocker runcontainer run
Kill (Force Stop)podman killdocker killcontainer kill
Stop Delete or Removepodman rmdocker rmcontainer delete
container rm

Image & System Management

GoalpodmandockermacOS container
Build from Dockerfilepodman builddocker buildcontainer build
Manage Imagespodman imagesdocker imagescontainer images
container i
Manage Registries Authenticate
podman logindocker logincontainer registry login
Manage Registries Clear Session
podman logoutdocker logoutcontainer registry logout
Manage Registries Listcheck config.jsoncheck config.jsoncontainer registry list
Manage Builderpodman builddocker buildxcontainer builder
System Componentspodman systemdocker systemcontainer system
container s

Foot Note:

  • Podman stores registry credentials in auth.json (usually found in ${XDG_RUNTIME_DIR}/containers/auth.json or ~/.docker/config.json for compatibility).
  • macOS container Logic: Based on the help menu you provided, the registry subcommand is a “manager” for configurations. This means it likely handles multiple registry settings in one place, whereas Docker and Podman commands are more “action-oriented” (do the login/logout).
  • Podman logout / Docker logout is a critical security step, especially when using public registries like Docker Hub or Quay.io, to ensure credentials aren’t left in plain text on your local machine.
  • The macOS tool’s registry subcommand acts as a manager. This is a more modern CLI design, where related functions are tucked under a single parent command to keep the main help menu clean.

buildx, build, builder

  • Docker: buildx started as an experimental plugin. Because Docker has a massive user base, they kept the name buildx to avoid breaking older scripts that used the standard docker build.
  • Podman: Since Podman was designed later, it integrated multi-platform support directly into the podman build command from the start. It doesn’t need a “plugin” because the feature is built-in.
  • macOS container: it has a specific builder subcommand. This is because macOS manages build “instances” (lightweight Linux VMs) specifically optimized for Swift and Apple Silicon performance.