Choose the right container Setup
In the past i used docker a lot. Since they moved on more to please enterprises I prefer to use podman and podman compose.
Install Commands for podman & podman compose
sudo apt update
sudo apt install -y podman podman-compose
podman --version
podman compose version || podman-compose --version
systemctl --user enable --now podman.socketsudo apt update
sudo apt install -y podman podman-compose
podman --version
podman compose version || podman-compose --version
systemctl --user enable --now podman.socketOptional: make sure your user has a subuid/subgid range (needed for rootless features)
grep -E "^$USER:" /etc/subuid /etc/subgid || \
( echo "$USER:100000:65536" | sudo tee -a /etc/subuid >/dev/null && \
echo "$USER:100000:65536" | sudo tee -a /etc/subgid >/dev/null )grep -E "^$USER:" /etc/subuid /etc/subgid || \
( echo "$USER:100000:65536" | sudo tee -a /etc/subuid >/dev/null && \
echo "$USER:100000:65536" | sudo tee -a /etc/subgid >/dev/null )Alias for legacy systems
Some systems still use docker (never change a running system). Thats why i created aliases for the commands and do not need to retrain muscle memory 😉
cat >> ~/.bashrc <<'EOF'
# Docker muscle-memory -> Podman
alias docker='podman'
# Prefer "podman compose" if available; fall back to podman-compose
docker-compose() { command podman compose "$@" 2>/dev/null || command podman-compose "$@"; }
# Make "docker compose ..." work (docker is aliased to podman, but keep this explicit)
alias 'docker compose'='podman compose'
EOF
source ~/.bashrccat >> ~/.bashrc <<'EOF'
# Docker muscle-memory -> Podman
alias docker='podman'
# Prefer "podman compose" if available; fall back to podman-compose
docker-compose() { command podman compose "$@" 2>/dev/null || command podman-compose "$@"; }
# Make "docker compose ..." work (docker is aliased to podman, but keep this explicit)
alias 'docker compose'='podman compose'
EOF
source ~/.bashrc

