Remove the previous docker version:

sudo apt remove docker docker-engine docker.io containerd runc

Update apt:

sudo apt update
sudo apt upgrade

Install dependencies:

sudo apt install ca-certificates curl gnupg lsb-release

Add GPG key (ensure the network connection):

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

Add Docker source:

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Install docker:

sudo apt install docker-ce docker-ce-cli containerd.io

Configure user group (re-login to use docker command without sudo):

sudo usermod -aG docker $USER
# sudo usermod -aG docker <USER>

Run docker:

sudo systemctl start docker

Change docker directory (optional):

sudo docker info | grep "Docker Root Dir" # /var/lib/docker
sudo cp -a /var/lib/docker /data/docker/
sudo mv -u /var/lib/docker /var/lib/docker.bak
sudo systemctl stop docker
sudo ln -fs /data/docker /var/lib/docker
sudo systemctl start docker