Install Portainer on Debian 11: Best Container Manager
In this guide, we aim to demonstrate how to Install Portainer on Debian 11. Portainer is an invaluable open-source service providing a visual web interface for managing containerized applications. It functions as a container management tool compatible with Docker, Docker Swarm, Kubernetes, and Azure Container Instances (ACI). This makes Install Portainer on Debian 11 a particularly attractive task for developers and system administrators alike.
Portainer empowers you to deploy and manage your Docker containers without the need for extensive coding, as is often the case with command-line interfaces (CLI). With Portainer, you gain the advantage of visualizing and managing your containerized applications through an intuitive graphical user interface. The process to Install Portainer on Debian 11 is relatively straightforward.
Now, follow the steps provided to set up the Portainer Docker container manager on Debian 11.
1. Requirements for Portainer Setup
Before you Install Portainer on Debian 11, ensure you meet the following prerequisites:
- You must be logged in to your server as a root user or a non-root user with sudo privileges. If you need assistance with this, refer to this guide on Initial Server Setup with Debian 11.
- Docker must be installed on your server. Follow our guide on Install and Use Docker on Debian 11 for detailed instructions.
- Docker Compose must also be installed. Consult this guide on Install and Use Docker Compose on Debian 11 for assistance.
2. Install Portainer on Debian 11
With the prerequisites in place, you can now proceed to Install Portainer on Debian 11.
Create Docker Volume For Portainer
First, create a Docker volume to persist Portainer data. Docker volumes are file systems mounted on Docker containers, ensuring that data generated by the running container is preserved. To create a volume, execute the following command:
docker volume create data
Verify the volume creation using:
docker volume ls
**Output**
DRIVER VOLUME NAME
local data
Download and Run Portainer Docker Image
Next, download and run the Portainer Docker image using the following command:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v data:/data portainer/portainer

Confirm that Portainer is running correctly by checking its status:
docker ps

3. Access Portainer Web Interface on Debian 11
With Portainer running on port 9000, access it through your web browser by navigating to your server’s IP address followed by :9000:
http://your-server-ip:9000
Upon first access, you’ll be prompted to create an initial administrator user.

After setting up the administrator account, you’ll be presented with the Portainer dashboard.

You can now seamlessly host applications on the containerization platform through the web-based interface. For more comprehensive information, refer to the Portainer Docs.
Conclusion
Portainer simplifies the management of Docker containers and other container platforms with its user-friendly interface. You have now successfully learned how to Install Portainer on Debian 11.
Hope you found this guide helpful. You may also be interested in these articles:
Install and Configure Jenkins on Debian 11
Install OTRS Community Edition on Debian 11
Alternative Solutions for Installing and Managing Portainer on Debian 11
While the above method details using Docker directly to deploy Portainer, there are alternative approaches that can offer different advantages. Here are two such methods: using Docker Compose and using Kubernetes with Helm.
1. Using Docker Compose to Install Portainer on Debian 11
Docker Compose simplifies the deployment of multi-container applications. Instead of running a long docker run
command, you can define the service in a docker-compose.yml
file. This makes it easier to manage and reproduce the deployment.
Explanation:
The docker-compose.yml
file describes the services, networks, and volumes that make up your application. By defining Portainer’s configuration in this file, you can deploy it with a single command. This approach provides a more declarative and repeatable setup, especially useful when managing complex deployments.
Code Example:
Create a file named docker-compose.yml
with the following content:
version: "3.9"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: always
volumes:
portainer_data:
Steps:
- Save the
docker-compose.yml
file. Choose a suitable directory on your Debian 11 server. - Navigate to the directory containing the
docker-compose.yml
file using thecd
command in your terminal. -
Run the following command to start Portainer:
docker-compose up -d
This command will pull the Portainer image, create the volume, and start the container in detached mode (-d).
- Verify the deployment by checking the container status with
docker ps
. - Access Portainer through your web browser at
http://your-server-ip:9000
.
This method provides a cleaner, more manageable approach to deploying Portainer compared to the single docker run
command.
2. Using Kubernetes with Helm to Install Portainer on Debian 11
For those already using Kubernetes or planning to, deploying Portainer using Helm is an excellent choice. Helm is a package manager for Kubernetes that simplifies the deployment and management of applications.
Explanation:
Helm uses "charts" which are packages of pre-configured Kubernetes resources. Deploying Portainer via Helm allows you to leverage Kubernetes’ features like scaling, self-healing, and rolling updates. This is particularly useful in larger, more complex environments. While Kubernetes might be overkill for a single Portainer instance, it offers significant advantages in a cluster environment.
Code Example:
First, you need to have Helm installed on your Kubernetes cluster. Follow the official Helm documentation for installation instructions.
Then, add the Portainer Helm repository:
helm repo add portainer https://portainer.github.io/k8s/
helm repo update
Finally, install Portainer using Helm:
helm install portainer portainer/portainer -n portainer --create-namespace
This command installs Portainer into a new namespace called portainer
.
Steps:
- Install Helm: Follow the official Helm documentation to install Helm on your Kubernetes cluster.
- Add the Portainer Helm repository: Execute the commands above to add the repository and update it.
- Install Portainer using Helm: Execute the
helm install
command to deploy Portainer. The--create-namespace
flag will create theportainer
namespace if it doesn’t exist. -
Get the Portainer Service URL: After the installation, you’ll need to find the URL to access the Portainer UI. This typically involves checking the service type (LoadBalancer or NodePort) and getting the external IP or port. The exact method depends on your Kubernetes cluster setup.
For example, if you’re using Minikube:
minikube service portainer -n portainer --url
This command will output the URL to access Portainer.
- Access Portainer: Open the URL in your web browser.
Using Helm provides a robust and scalable way to deploy and manage Portainer within a Kubernetes environment. It leverages the full power of Kubernetes for container orchestration and management.