Rock3/dev/install-docker-engineer-on-docker
1.Install Docker Engine on Debian
0 Uninstall old versions
sudo apt-get remove docker docker-engine docker.io containerd runc
1 Install using the repository.Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
2 Add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3 Use the following command to set up the repository:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4 Install Docker Engine
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Please note that you may meet this error log. Please ignore it.
# sudo apt-get check docker-ce docker-ce-cli containerd.io docker-compose-plugin E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. root@rak-gateway:/home/rock# dpkg --configure -a Setting up docker-ce (5:20.10.17~3-0~debian-buster) ... Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. invoke-rc.d: initscript docker, action "start" failed. ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Thu 2022-07-14 07:32:13 UTC; 22ms ago Docs: https://docs.docker.com Process: 1735 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) Main PID: 1735 (code=exited, status=1/FAILURE) dpkg: error processing package docker-ce (--configure): installed docker-ce package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: docker-ce
5 The docker installer uses iptables for nat. Unfortunately Debian uses nftables. You can convert the entries over to nftables or just setup Debian to use the legacy iptables.
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy sudo service docker start
2 Test Docker
sudo docker run hello-world
3 Check docker service status
sudo systemctl status docker
And it shows this.
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e Active: active (running) since Thu 2022-07-14 15:24:57 UTC; 4min 48s ago Docs: https://docs.docker.com Main PID: 5632 (dockerd) Tasks: 10 Memory: 37.4M CGroup: /system.slice/docker.service └─5632 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain