{{indexmenu_n>001}}
====== Docker : Install Docker on Linux ======
There are several ways to install Docker on Linux:
- [[#1_install_docker_via_script_recommended_for_quick_setup|Via Script]] – Quick and easy (**recommended**)
- [[#2_install_docker_via_official_documentation|Via Official Docs]] – Latest version with manual setup
- [[#3_install_docker_via_packages_repository|Via Ubuntu Repo]] – Stable but may be outdated
==== 1. Install Docker via Script (Recommended for Quick Setup) ====
This method automates the installation process using Docker’s official script. This will automatically detect your OS and install the latest version. This may not support some distro.
* Run the official install script:
curl -fsSL https://get.docker.com | sh
root@demo:~# curl -fsSL https://get.docker.com | sh
# Executing docker install script, commit: 4c94a56999e10efcf48c5b8e3f6afea464f9108e
+ sh -c apt-get -qq update >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install ca-certificates curl >/dev/null
+ sh -c install -m 0755 -d /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" -o /etc/apt/keyrings/docker.asc
+ sh -c chmod a+r /etc/apt/keyrings/docker.asc
+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get -qq update >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
Scanning processes...
+ sh -c docker version
Client: Docker Engine - Community
Version: 27.5.1
API version: 1.47
Go version: go1.22.11
Git commit: 9f9e405
Built: Wed Jan 22 13:41:48 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 27.5.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.11
Git commit: 4c9b3b0
Built: Wed Jan 22 13:41:48 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
================================================================================
To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:
dockerd-rootless-setuptool.sh install
Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.
To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/
WARNING: Access to the remote API on a privileged Docker daemon is equivalent
to root access on the host. Refer to the 'Docker daemon attack surface'
documentation for details: https://docs.docker.com/go/attack-surface/
================================================================================
==== 2. Install Docker via Official Documentation ====
For a more detailed setup, follow [[https://docs.docker.com/engine/install/|Docker’s official instructions]].
> This is the command to install Docker on Ubuntu. For installation instructions for your specific distribution, refer to the Docker documentation.
* Set up the repository:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
* Install Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
==== 3. Install Docker via Packages Repository ====
This method installs Docker from the distribution's package repository, which may not have the latest version, but it ensures stability.
* Update package lists:
sudo apt update
* Install Docker:
sudo apt install docker.io
* Install Docker Compose:
sudo apt install docker-compose
==== Post-Installation ====
=== 1. Verify installation ===
systemctl status docker
docker --version
docker run hello-world
=== 2. Run Docker Without 'sudo' ===
To allow your user to run Docker without `sudo`:
sudo usermod -aG docker $USER
Verify installation:
docker --version
docker run hello-world
=== 3. To uninstall Docker (if needed) ===
sudo apt remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt autoremove