Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Gestión gráfica de contenedores Docker con Portainer


Portainer te permite gestionar, organizar, ver los diferentes contenedores desde el navegador de una forma gráfica y visual muy amigable. Es ideal para empezar. Portainer se trata de una interfaz de usuario web que nos permite administrar fácilmente nuestro host Docker y todos los contenedores que en él habitan. ¿Porqué usar Portainer? para aprender lo mejor es practicar y qué mejor que una herramienta muy visual que mediante ejemplos vayamos entendiendo los conceptos.

 

 

 

 

Virtualizar (VM) vs Docker (Container)

Docker es una solución de virtualización ligera de aplicaciones y sistemas operativos basados en Linux. A diferencia de los mecanismos tan conocidos como VMWare, VirtualBox o Microsoft Hyper-V, esta utilidad ofrece un enfoque distinto, denominándose virtualización ligera al poder crear contenedores individuales únicos para aplicaciones sin tener que usar una máquina virtual propiamente dicha.

Docker será el encargado de proporcionarnos las herramientas y medios para crear dichos contenedores, cada uno de ellos único y albergando una aplicación que funcionará tal y como lo haría instalada en un sistema operativo. En la virtualización ligera se utilizan los recursos disponibles en la propia máquina, y todos los contenedores correrán sobre una misma instancia en el sistema operativo anfitrión.



¿Cuáles son entonces las ventajas? Pues principalmente las siguientes:

  • No necesitaremos arrancar y mantener múltiples máquinas virtuales, necesitando menos recursos y simplificando la administración.
  • Al ser una imagen única, las aplicaciones estarán aisladas para poder migrarlas a cualquier plataforma compatible.
  • Poder ejecutar múltiples contenedores aislados al mismo tiempo bajo una misma interfaz de administración centralizada como es el caso de Container Station o Portainer.
  • Implementación rápida y sencilla, a través de interfaz gráfica, desde red o remota mediante SSH.
  • Posibilidad de reutilizar componentes, hacer copias de seguridad de cada imagen o incluso duplicarlas.
  • Completo ecosistema de herramientas en ampliación para aumentar las posibilidades de Docker
  • Posibilidad de colocarlas tras redes virtuales, adaptadores de red virtuales, u otros contenedores con firewall para mejorar la seguridad.
  • Administración flexible utilizando interfaz gráfica o terminal en línea de comandos.
  • Posibilidad de configurar permisos de usuario para acceder a carpetas compartidas del NAS y los datos de otros contenedores.

 

¿Qué es Portainer?

Ya habíamos presentado Portainer como una flexible alternativa a OpenShift. 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; la gestión de clústeres y contenedores basada en Docker y Docker Swarm 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.

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos. Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que 'contenedores' independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.

Contenedores de software sin virtualizar

Docker es útil a administradores de sistemas, pero también a desarrolladores. Uno de los problemas que se presentan durante el desarrollo y despliegue de aplicaciones es encontrarnos con sistemas heterogéneos, no ya entre los desarrolladores, también entre los sistemas de pruebas, pre-producción y producción. Es decir, que los desarrolladores y los sistemas donde se ejecuta la aplicación tienen librerías y sistemas operativos diferentes. ¿Y por qué es un problema? Pues porque la aplicación puede funcionar bien en una distribución de GNU/Linux pero no bien en otra, o ejecutarse bien con la versión de un lenguaje pero no con otra. Para asegurar la calidad de desarrollo tenemos que asegurar que todo el mundo usa las mismas versiones de todas las aplicaciones y librerías necesarios.

¿Docker es virtualización?

En GNU/Linux Docker no es virtualizado, no hay un hipervisor. Los procesos que corren dentro de un contenedor de docker se ejecutan con el mismo kernel que la máquina anfitrión. Linux lo que hace es aislar esos procesos del resto de procesos del sistema, ya sean los propios de la máquina anfitrión o procesos de otros contenedores. Además, es capaz de controlar los recursos que se le asignan a esos contenedores (cpu, memoria, red, etc.). Internamente, el contenedor no sabe que lo es y a todos los efectos es una distribución GNU/Linux independiente, pero sin la penalización de rendimiento que tienen los sistemas virtualizados.

Imágenes Docker

De forma muy similar a las máquinas virtuales, los contenedores de Docker se basan en imágenes, que son plantillas de solo lectura con todas las instrucciones que necesita el motor de Docker para crear un contenedor. Como copia portátil de un contenedor, una imagen Docker se describe en forma de archivo de texto (Dockerfile). Antes de iniciar un contenedor en un sistema, se carga un paquete con la imagen correspondiente si esta no está ya guardada de forma local. La imagen cargada prepara todos los sistemas de archivos con los parámetros necesarios para la ejecución. Un contenedor puede considerarse como un proceso en ejecución de una imagen.

Docker Hub

El Docker Hub es un registro para repositorios de software basado en la nube, es decir, una especie de biblioteca para las imágenes Docker. Este servicio online está formado por repositorios públicos y privados. En los primeros se ofrece a los usuarios la posibilidad de subir sus propias imágenes y compartirlas con la comunidad. Aquí se dispone de un gran número de imágenes Docker oficiales realizadas por el equipo de desarrolladores de la plataforma así como de proyectos de código abierto consolidados. Por el contrario, en los repositorios privados del registro no todo el mundo tiene acceso a las imágenes que se cargan, aunque estas sí pueden ser compartidas dentro de una misma empresa o en un determinado círculo. Al repositorio de Docker Hub se accede a través de hub.docker.com.


Portainer: administrar contenedores con interfaz web

  • Contenedor Portainer, un gestor de contenedores con interfaz web, muy sencillo y completo.

Portainer  es un poderoso conjunto de herramientas de administración (de código abierto) que te permite construir, administrar y mantener fácilmente entornos Docker.

¿Porqué usar Portainer? para aprender lo mejor es practicar y qué mejor que una herramienta muy visual que mediante ejemplos vayamos entendiendo los conceptos.

Si por fin instalaste Docker, para desarrollar WordPress  en local o para otras aplicaciones, verás que tienes carencias a la hora de ver tus contenedores e imágenes. En Visual Studio Code, aún que va muy bien, te falta visibilidad si tienes muchos contenedores, imágenes, etc. 

Lo mismo te pasa con Dashboard (antes Kitematic) que es la GUI por defecto que viene con la versión de Docker para Windows. Aunque que ahora ha sido mejorada es posible que se te quede algo corta.

Portainer  va un paso más allá a la hora de darnos facilidades para gestionar nuestro Docker a través de una interfaz gráfica muy intuitiva.

Lo que vas a apreciar en Portainer es su sencilla interfaz basada en web desde donde podrás gestionar remota o localmente contenedores, iniciarlos, pararlos, eliminarlos, reiniciarlos, etc. y también agregar contenedores, crear imágenes, levantar redes, monitorizar los contenedores en marcha, etc. 

Además tienes a tu disposición la extensa documentación de Portainer.

Su instalación es muy fácil en su sitio web tienes muy bien explicado como hacerlo.

 

 

  • Gestionar imágenes Docker – pull, delete, Build
  • Desplegar aplicaciones rápidamente desde plantillas
  • Gestionar contenedores – iniciar, detener, matar, reiniciar, pausar, continuar, eliminar, crear
  • Gestionar redes – añadir, borrar, modificar
  • Gestionar Volumenes Persistentes – añadir, eliminar, administrar privilegios
  • Revisar los eventos del motor Docker
  • Añadir un registro Docker privado y configurar la autenticación para DcokerHub
  • Crear endpoints
  • Añadir usuarios para gestionar Docker
  • Administrar Docker Swarm
  • Crear plantillas personalizadas de contenedores

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:
  2.  
docker volume create Portainer_data

  1. A continuación, verificamos que el volumen Docker llamado ‘Portainer_data’ existe:

 

docker volume ls

  1. 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:
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

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

 

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.

 Tras hacer clic en el entorno Docker local, acabamos en el panel de control de Portainer. Allí se nos muestran los recursos Docker gestionados.

  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.

 

Ahora la nueva versión de Portainer ya acepta https y se ejecuta por defecto en el puerto 9443

Y lo único que pide ahora al acceder es crear el usuario:

https://localhost:9443




Si lo prefieres también puedes hacerlo con un archivo «docker-compose.yml» con este código:

 version: '2'

services:

  portainer:

    image: portainer/portainer

    command: -H unix:///var/run/docker.sock

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - portainer_data:/data

    ports:

      - 127.0.0.1:9443:9443

volumes:

  portainer_data:

 

version: "3"
services:
  portainer:
    image: portainer/portainer-ce:latest
    ports:
      - 9443:9443
      volumes:
        - data:/data
        - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
volumes:
  data:


O descarga el archivo docker-compose.

Ya sabes que entonces debes usar el comando:

docker-compose up -d


Con el  comando  comprobamos que está correcto:

docker ps 

Esto lo debes ejecutar en la misma ruta donde tengas el fichero con extensión YML.

 

Y listo en  localhost:9443 tendrás  Portainer  en marcha.

 


Al acceder vía web por primera vez nos pedirá configurar la contraseña del usuario administrador, tal y como se muestra en la imagen

Lo primero es crear un usuario y la contraseña.

Una vez ya nos hemos logeado en el siguiente paso es elegir la gestión de los contenedores:

  • Docker (docker.sock local)
  • Kubernetes
  • Agent
  • Azure


Anteriores versiones:



Y  ya podemos ver la interfaz de Portainer:



La verdad es que este producto da mucho juego. Podemos gestionar prácticamente todas las operaciones: 

  • Descargar imágenes
  • Crear contenedores
  • Gestionar volúmenes
  • Redes
  • Puertos
  • etc



 

Pulsando sobre Primary nos lleva a Dashboard:

  • Stacks
  • Images
  • Networks
  • Containers
  • Volumes 


Otro ejemplo:


El menú de Containers, nos mostrará la lista de todos nuestros contenedores, y podremos ejecutar con click instrucciones como arrancarlos, pararlos o eliminarlos.  También podemos ver detalles del propio contenedor.

  • Start
  • Stop
  • Kill
  • Restart
  • Pause
  • Remove
  • Add

Si hacemos click en el nombre de un contenedor, podemos ver la información del mismo.

  • Nombre
  • Estado
  • Stack
  • Imagen
  • Creada
  • Puertos

 


Desde el propio apartado de «Containers«, justo en la línea con la información del contenedor en cuestión, podemos ver sus estadísticas marcando sobre el símbolo de la gráfica. 

Container

  • Logs
  • Inspect
  • Stats
  • Console
  • Attach

Ejemplo Stats -->



Vista de la sección  Images:

 


 Detalles contenedor:

  • Imagen
  • Puertos
  • CMD
  • Entrypoint
  • ENV
  • Labels
  • Restart Policies
  • Connected Networks

En la pantalla de Networks, tenemos la posibilidad de ver las redes que ya tenemos creadas. También podemos eliminarlas o añadir a través de la interfaz una nueva red.

 



En Volumes veremos los directorios:

 


Para mostrar brevemente su funcionamiento nos podemos descargar una plantilla de contenedor ya predefinida desde «Add Templates«. En el ejemplo vamos a utilizar la plantilla para instalar la popular herramienta de control de versiones GitLab.


AppTemplates:

 



 

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:
docker stop Portainer

  1. Posteriormente, retiramos el contenedor:
docker rm Portainer

  1. Para preparar la actualización, descargamos la última imagen del servidor Portainer:
docker pull cr.Portainer.io/Portainer/Portainer-ce:2.9.3

  1. Para realizar la actualización, reiniciamos el contenedor del servidor Portainer desde la imagen actual:
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:

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



0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.