Docker is an open-source project for containerising applications to be portable and self-sufficient.
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
Add Docker's official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Use the following command to set up the stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install the latest version of Docker Engine and containerd
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Verify that Docker Engine is installed correctly by running the hello-world
image.
sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints a message and exits.
The Docker daemon always runs as the root user i.e., you can access it using sudo
. If you don’t want to preface the docker
command with sudo
, create a Unix group called docker
and add users to it.
Create the docker group,
sudo groupadd docker
Add your user to the docker
group,
sudo usermod -aG docker $USER
Log out and log back in for the changes to take effect.
Update: Run the following command to activate the changes to groups,
newgrp docker
Verify that you can run docker commands without sudo
.
docker run hello-world
Reference: Official documentation
Compose is a tool for managing multi-container Docker applications using a YAML configuration file.
You can install Compose V2 by downloading the appropriate binary for your system and copying it into $HOME/.docker/cli-plugins
as docker-compose
.
Download the current stable release of Docker compose.
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
$ mkdir -p $DOCKER_CONFIG/cli-plugins
$ curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
Apply executable permissions to the binary,
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
Test your installation
docker compose version
Reference: Official documentation
Old version (compose v1.x): Official documentation