Hello all !
Following that post, I’m offering to noobs like me the opportunity to learn how to install docker to a Debian system. Being a beginner myself, I don’t pretend to know the perfect or more appropriate way to achieve this, and I hope that more experienced people will join the conversation to correct and complete the informations I’m about to give.
The first way I know of is the way I first installed docker and portainer on my machine. I used OpenMediaVault and omv-extras, which was quite straight formard. But depending on the version you are using, you might not find omv-extras anymore in OMV, and the new way of getting docker through it is in my opinion quite painfull.
So let’s go with the simple way:
Pre-requisite : having Debian installed on your machine and SSH into it.
Set up 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
- 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
- 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
Install Docker Engine
- Update the
apt
package index:
sudo apt-get update
- Install Docker Engine, containerd, and Docker Compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- You can verify that Docker Engine is installed correctly by running the
hello-world
image.
sudo docker run hello-world
Install Portainer
- Create Docker Volume to store the data:
docker volume create portainer_data
- Install Portainer Server:
docker run -d -p 8000:8000 -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Access Portainer Dashboard
- In a browser, visit the following address:
http://<yourmachineipadress>:9000
-
The first time you access Portainer, the system asks to create a password for the admin user. Type the password twice and select the Create user button.
-
Select the Get Started button to go to the dashboard and start using Portainer in the local environment only.
You’re set up ! Now, you can use simple docker-composes in Portainer stacks tab to deploy new apps and services.
Great write up!
Nice my server at home runs debian with a couple containers
Debian system?
Yes, as stated in the title and post. It is stable and easy to use and update. It also is available on a wide variety of architectures and devices. So far it never failed me.
I believe my post could apply to other systems.
If that was a rethorical question, I believe you’re not in favor of it. I think it would be more constrictive to elaborate and participate to the conversation:)
I would suggest having a look at podman. It’s a drop-in replacement for docker, except it doesn’t require a constantly running daemon, it comes in the main package repositories, so you don’t have to do the key and repository stuff, and cockpit has a plugin to help manage podman containers.
Will have a look. Thanks for the suggestion.
Docker has an install script on their https://github.com/docker/docker-install page that takes a lot of the headache out. Also ‘sudo usermod -aG docker $USER’ will allow you to run docker without sudo.
Great tips. Thank you.