Use the convenience script approach
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
Now run docker -v
to verify it works.
There are no binaries for ARM, so use pip:
pip install docker-compose sudo ln -s /home/pi/.local/bin/docker-compose /usr/local/bin/docker-compose
Now run docker-compose -v
to verify it works.