# Portainer en Docker: cómo instalarlo

Portainer es una **forma cómoda de gestionar entornos de contenedores distribuidos**. El software se instala como un contenedor Docker y, por tanto, se ejecuta prácticamente en cualquier lugar. Mostramos la rutina de instalación y aportamos útiles consejos.

Consejo Utiliza Portainer para gestionar tus clusters Kubernetes - en un [servidor VPS](https://www.ionos.es/servidores/vps "Alquila un servidor VPS a buen precio en IONOS") de IONOS.

## ¿Qué es Portainer?

Ya habíamos presentado [Portainer](https://www.Portainer.io/ "Guía de gestión de contenedores para Kubernetes, Docker, Swarm - Portainer") como una flexible **[alternativa a OpenShift](https://www.ionos.es/digitalguide/servidores/know-how/openshift-alternatives/ "Openshift Alternatives").** A diferencia de OpenShift, Portainer no es una distribución de Kubernetes por derecho propio. Más bien, el software de código abierto centraliza y unifica la gestión de las infraestructuras de clústeres existentes. Para ello se utiliza una interfaz gráfica de usuario basada en la web. Además de la “Community Edition” (CE) gratuita, existe una versión de pago con soporte empresarial.

El objetivo principal de Portainer es unificar la **gestión de los desarrollos existentes de Kubernetes**. Portainer permite a los equipos de DevOps gestionar, configurar y asegurar de forma centralizada los entornos multiclúster. Los equipos de desarrollo también se benefician del software; por ejemplo, Portainer facilita el despliegue, la gestión y la resolución de problemas de las aplicaciones.

En este caso, Portainer no solo es adecuado como interfaz de gestión para [Kubernetes](https://www.ionos.es/digitalguide/servidores/know-how/que-es-kubernetes/ "Qué es Kubernetes"); la **gestión de clústeres y contenedores** basada en Docker y [Docker Swarm](https://www.ionos.es/digitalguide/servidores/know-how/docker-compose-y-swarm-gestion-multicontenedor/ "Docker Compose y Swarm: gestión multicontenedor") también forma parte del ámbito funcional. El software puede instalarse prácticamente en cualquier lugar. Por tanto, la instalación funciona en entornos de nube, en dispositivos de vanguardia, así como en tu propia infraestructura informática local. Te mostramos cómo instalar Portainer en Docker.

Consejo Consulta nuestro práctico [tutorial de Docker](https://www.ionos.es/digitalguide/servidores/configuracion/tutorial-docker-instalacion-y-primeros-pasos/ "Tutorial Docker: instalación y primeros pasos") para configurar Docker en tu sistema local.

## ¿Cómo instalo Portainer en Docker?

Veamos primero la arquitectura básica de Portainer. Esta comprende dos componentes que se instalan individualmente como [Docker container](https://www.ionos.es/digitalguide/servidores/know-how/docker-container/ "Docker Container"):

1. **Un servidor Portainer** como instancia centralizada. El servidor Portainer contiene una base de datos y requiere una capa de almacenamiento para guardar los datos. El servidor Portainer gestiona el [entorno Docker](https://www.ionos.es/digitalguide/servidores/know-how/que-es-docker/) local y, si es necesario, otros entornos conectados a través de agentes.
2. Si es necesario, **varios agentes Portainer** para gestionar entornos adicionales. Una instancia del agente Portainer se ejecuta en cada nodo del clúster que se va a gestionar.

Tanto el servidor Portainer como los agentes se ejecutan **como contenedores en la infraestructura existente**. Los agentes se comunican con el servidor; para que esto funcione, el servidor y los agentes deben estar en la misma red. Además, están los edge agents, que se ejecutan como instancias en dispositivos remotos. Lo especial de los edge agents es que se comunican con el servidor a través de los límites de la red. Para ello se utiliza un túnel TLS encriptado.

A continuación, te mostramos la **instalación del servidor y el agente de Portainer bajo Docker** (independiente). Nos referimos a la versión 2.9.3 de Portainer Community Edition (CE) y utilizamos Docker Desktop como base. Docker Desktop funciona en Windows y macOS; la instalación en Linux es casi idéntica. Ten en cuenta que, en el uso de producción, los servidores y los agentes se ejecutan en máquinas diferentes.

### Instalación de Portainer Server en Docker Desktop

Como el **servidor Portainer está disponible como imagen Docker**, la instalación resulta bastante sencilla. Te guiaremos en el proceso paso a paso.

1. En primer lugar, creamos un **volumen Docker** que contendrá los datos gestionados por el servidor Portainer:

```none
docker volume create Portainer_data
```

2. **A continuación, verificamos** que el volumen Docker llamado ‘Portainer\_data’ existe:

```none
docker volume ls
```

3. Ahora sigamos con la **instalación del servidor Portainer propiamente dicho**. Iniciamos el servidor como un contenedor Docker desde su imagen Docker. A menos que la imagen sea local, se descargará automáticamente:

```none
docker run -d -p 8000:8000 -p 9443:9443 --name Portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v Portainer_data:/data \
    cr.Portainer.io/Portainer/Portainer-ce:2.9.3
```

4. **A continuación, comprobamos** si el contenedor Docker llamado ‘Portainer’ está en funcionamiento:

```none
docker ps
```

### Configurar el servidor Portainer en Docker

Si el servidor Portainer se ha instalado correctamente, **la interfaz web de Portainer es accesible en el host local** en el puerto especificado. En nuestro caso, es el puerto 9443. Ahora es el momento de configurar el servidor Portainer.

[![Imagen: Pantalla de bienvenida al acceder a la interfaz web de Portainer por primera vez](https://www.ionos.es/digitalguide/fileadmin/_processed_/5/e/csm_startbildschirm-portainer-weboberflaeche_8a3921571d.webp "Pantalla de bienvenida al acceder a la interfaz web de Portainer por primera vez")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/startbildschirm-portainer-weboberflaeche.png) Pantalla de bienvenida al acceder a la interfaz web de Portainer por primera vez [![Imagen: Pantalla de inicio en Portainer con los datos del usuario administrador introducidos](https://www.ionos.es/digitalguide/fileadmin/_processed_/f/3/csm_startbildschirm-portainer-admin-nutzerdaten_b32a303322.webp "Pantalla de inicio en Portainer con los datos del usuario administrador introducidos")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/startbildschirm-portainer-admin-nutzerdaten.png) Pantalla de inicio en Portainer con los datos del usuario administrador introducidos [![Imagen: Asistente de configuración rápida de la interfaz web de Portainer](https://www.ionos.es/digitalguide/fileadmin/_processed_/7/8/csm_quick-setup-wizard-portainer_da088bc42c.webp "Asistente de configuración rápida de la interfaz web de Portainer")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/quick-setup-wizard-portainer.png) Asistente de configuración rápida de la interfaz web de Portainer [![Imagen: Pantalla de inicio de la interfaz web de Portainer](https://www.ionos.es/digitalguide/fileadmin/_processed_/7/4/csm_home-bildschirm-portainer-weboberflaeche_e4a4f40178.webp "Pantalla de inicio de la interfaz web de Portainer")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/home-bildschirm-portainer-weboberflaeche.png) Pantalla de inicio de la interfaz web de Portainer [![Imagen: Panel de control de la interfaz web de Portainer.](https://www.ionos.es/digitalguide/fileadmin/_processed_/9/9/csm_dashboard-portainer-weboberflaeche_1b59ef741e.webp "Panel de control de la interfaz web de Portainer.")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/dashboard-portainer-weboberflaeche.png) Panel de control de la interfaz web de Portainer. 1. Primero, llamamos a la **interfaz web de Portainer** en el navegador: *https://localhost:9443*.
2. Al utilizar Portainer por primera vez, creamos un **usuario administrador** y luego configuramos Portainer.

Por defecto, la instalación de Portainer utiliza un **certificado SSL autofirmado** para asegurar la interfaz web mediante HTTPS. Cuando se accede, puede aparecer un mensaje de advertencia en el navegador, dependiendo del navegador y del sistema operativo. Esto puede evitarse con unos pocos clics, como se muestra en las siguientes capturas de pantalla.

### Actualizar el servidor Portainer en Docker Desktop

El proceso de actualización del servidor Portainer está **estrechamente relacionado con la rutina de instalación**. Así que aquí también mostramos el proceso:

1. En primer lugar, **detenemos el contenedor en ejecución** del servidor Portainer:

```none
docker stop Portainer
```

2. Posteriormente, **retiramos el contenedor**:

```none
docker rm Portainer
```

3. Para preparar la actualización, **descargamos la última imagen del servidor Portainer**:

```none
docker pull cr.Portainer.io/Portainer/Portainer-ce:2.9.3
```

4. Para **realizar la actualización**, reiniciamos el contenedor del servidor Portainer desde la imagen actual:

```none
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \
    --name=Portainer --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v Portainer_data:/data \
    cr.Portainer.io/Portainer/Portainer-ce:2.9.3
```

### Instalación del agente Portainer en Docker

El agente Portainer no es necesario para una instalación local en Docker. Si quieres **gestionar varios entornos de forma centralizada**, instala el agente en cada máquina que vaya a conectarse. Como el agente Portainer está disponible como contenedor Docker, la instalación es sencilla. Todo lo que tienes que hacer es ejecutar el siguiente comando en el sistema de destino:

```none
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 \
    cr.Portainer.io/Portainer/agent:2.9.3
```


This is a markdown version of: [https://www.ionos.es/digitalguide/servidores/configuracion/instalar-portainer-en-docker/](https://www.ionos.es/digitalguide/servidores/configuracion/instalar-portainer-en-docker/) for AI/LLM consumption.