blog/content/homelab/install-docker.md
Mathieu Broillet 8e9efebeb1
All checks were successful
continuous-integration/drone/push Build is passing
remove draft status
2023-06-11 16:09:58 +02:00

4.1 KiB

title date draft author cover description tags
How to install Docker and Portainer 2023-06-11T13:06:44+02:00 false Mathieu Broillet img/docker.png How to install Docker, Portainer and the Portainer agent
docker
portainer
podman

Introduction

To install Docker, you can follow the steps outlined in the official Docker installation documentation.

Installation

Docker

Debian

If you're using Debian, you can use the following commands: {{< code language="BASH" title="Debian" expand="Show" collapse="Hide" isCollapsed="false" >}} sudo apt-get remove docker docker-engine docker.io containerd runc -y sudo apt-get update -y sudo apt-get install
ca-certificates
curl
gnupg -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y {{< /code >}}

Ubuntu

If you're using Ubuntu, you can use the following commands:

{{< code language="BASH" title="Ubuntu" expand="Show" collapse="Hide" isCollapsed="false" >}} sudo apt-get remove docker docker-engine docker.io containerd runc -y sudo apt-get update -y sudo apt-get install ca-certificates curl gnupg -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y {{< /code >}}

Portainer

Here are the commands to install Portainer and upgrade the Portainer container:

{{< code language="BASH" title="Installation" expand="Show" collapse="Hide" isCollapsed="false" >}} docker run -d -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest {{< /code >}}

{{< code language="BASH" title="Upgrade" expand="Show" collapse="Hide" isCollapsed="false" >}} docker stop portainer docker rm portainer docker image rm portainer/portainer-ce:latest docker run -d -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest {{< /code >}}

Agent

{{< code language="BASH" title="Installation" expand="Show" collapse="Hide" isCollapsed="false" >}} docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent {{< /code >}}

{{< code language="BASH" title="Re-installation" expand="Show" collapse="Hide" isCollapsed="false" >}} docker stop portainer_agent docker rm portainer_agent docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent {{< /code >}}

{{< code language="BASH" title="Installation on Podman" expand="Show" collapse="Hide" isCollapsed="false" >}} systemctl enable --now podman.socket mkdir -p /var/lib/containers/storage/volumes

podman run -d --privileged
-p 9001:9001
--name portainer_agent
--restart=always
-v /run/podman/podman.sock:/var/run/docker.sock:Z
-v /var/lib/containers/storage/volumes:/var/lib/docker/volumes
portainer/agent {{< /code >}}