There is a container that I cannot stop. TL;DR the solution that worked for me was rebooting the host system.
Anyhow, I’ll share the troubleshooting steps that did not work.
❯ podman stop semaphore-postgres
WARN[0010] StopSignal SIGINT failed to stop container semaphore-postgres in 10 seconds, resorting to SIGKILL
Error: given PID did not die within timeout
❯ podman ps -a | grep semaphore-postgres
a688a42c4c15  docker.io/library/postgres:16              postgres              17 minutes ago  Stopping               0.0.0.0:3000->3
000/tcp                          semaphore-postgres
Instead of “If at first you can’t stop a container, try, try again”, can we just kill it?
❯ podman kill semaphore-postgres
semaphore-postgres
❯ podman ps -a | grep semaphore-postgres
a688a42c4c15  docker.io/library/postgres:16              postgres              21 minutes ago  Stopping               0.0.0.0:3000->3
000/tcp                          semaphore-postgres
Trying to remove the container:
❯ podman rm semaphore-postgres
Error: cannot remove container a688a42c4c15950a34b0bdbcb6f0603a530787b562addff7ea3a2b6e6335d0a3 as it is stopping - running or paused
 containers cannot be removed without force: container state improper
❯ podman rm -f semaphore-postgres
WARN[0014] StopSignal SIGINT failed to stop container semaphore-postgres in 10 seconds, resorting to SIGKILL
Error: cannot remove container a688a42c4c15950a34b0bdbcb6f0603a530787b562addff7ea3a2b6e6335d0a3 as it could not be stopped: given PID
 did not die within timeout
It can’t be stopped or killed. I guess, I can try rebooting the system.
❯ sudo reboot
...
❯ podman ps | grep semaphore-postgres
1d9464e2117f  docker.io/library/postgres:16              postgres              About a minute ago  Up About a minute  0.0.0.0:3000->3000/tcp
So what was causing the container to be in ‘stopping’ state in the first place? Well, earlier this evening, I was dumping and importing a database from postgres 14 to 16. Part of the process requires me to stop and start a systemd service used to stop/start this postgres container.
Since the app that depends on this postgres database is working again, it’s good enough for now. If I am able to find a way to stop or get rid of the stopping container, I’ll update this post.