Low Orbit Flux Logo 2 F

docker.io vs docker.ce

We’re going to compare docker.io and docker.ce and show you how to install both on Debian 12.

My quick advice is this:

docker.io

docker.ce

Versions and Other info

As of April 1, 2024:

docker.io Docker version 20.10.24+dfsg1, build 297e128
docker.io docker-compose version 1.29.2, build unknown
docker.ce Docker version 26.0.0, build 2ae903e
docker.ce Docker Compose version v2.25.0

Docker compose can be a separate tool or a plugin:

docker-compose packaged as a separate tool
docker compose packaged as a plugin

Install Instructions ( what I ran in the video )

NOTE - Most of these commands were run as root. If you have sudo setup on your system you can use that instead if you like. Sudo wasn’t installed by default on my Debian 12 install but generally is on any Ubuntu system. Many of the commands that are listed with ‘sudo’ were actually just run as root. Choose whichever way you prefer.

docker.io - ( repo from Debian / Ubuntu )

Install docker.io and docker-compose:



apt update
apt install docker.io
docker -v
apt install docker-compose
docker-compose -v

Check versions:



root@host1:~# docker -v
Docker version 20.10.24+dfsg1, build 297e128
root@host1:~# docker-compose -v
docker-compose version 1.29.2, build unknown
root@host1:~#
root@host1:~# cat /etc/issue
Debian GNU/Linux 12 \n \l

root@host1:~#

Remove docker.io from system:



apt purge docker-compose
apt purge docker.io
apt autoremove

docker.ce - ( repo from Docker )

Refresh repo info:



sudo apt update

Prerequisites:



sudo apt install apt-transport-https ca-certificates curl gnupg

Add the repo:



curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Add the key:



echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Refresh repo info again ( important because of new repo )



sudo apt update

Install docker-ce:



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

Enable / start service ( should already be done ):



sudo systemctl status docker
sudo systemctl enable docker
sudo systemctl start docker

Grant non-root docker access for current user:



sudo usermod -aG docker ${USER}

Run a hello world container ( exit and re-enter shell if you just added user to the docker group ):



docker run hello-world

Version info:



user1@host1:~$ docker compose version
Docker Compose version v2.25.0
user1@host1:~$ docker compose up
no configuration file provided: not found
user1@host1:~$ docker -v
Docker version 26.0.0, build 2ae903e
user1@host1:~$