Hoy vamos a ver como instalar Portainers, que es una interface para administrar Docker de forma gráfica, aunque si bien para mi es mejor hacerlo por la terminal esta la opción y me gusto todo lo que podemos lograr.
PRE-REQUISITOS: Debian instalado, acceso root, actualizado.
- Paquetes necesarios.
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Agregamos las llaves GPG oficiales para Docker
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
Comprobar que tenes la llave correcta
apt-key fingerprint 0EBFCD88
2. Agregamos el repositorio de Docker
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Actualizamos los repositorios
apt update
3. Instalación de docker
apt install -y docker-ce docker-ce-cli containerd.io
Verificamos la versión de docker instalada
docker -v
4. Generar un volumen
Vamos a generar un volumen, con el objetivo que los datos que se generen queden persistentes y en el caso que el contenedor se rompa o elimine, los datos quedarán a salvo.
docker volume create portainer
5. Instalando portainer con el volumen creado
docker run -d --name=Portainer --hostname=Portainer --network=host --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data -e TZ='America/Argentina/Buenos_Aires' portainer/portainer
6. Explicación de los parámetros
docker run -d
: Crea un contenedor y lo va a iniciar.--name=Portainer
: Darle nombre al contenedor. Esto es importante porque se pueden tener varios contenedores basados en la misma imagen.--hostname=Portainer
: El nombre de la máquina. Opcional, pero es muy útil configurar este parámetro que sirve para saber rápidamente el nombre de la vm.--network=host
: Lahost
red que va a utilizar es la misma que la del host.--restart=always
: Reinicie el contenedor si se detiene. Si se detiene manualmente, solo se reinicia cuando el contenedor se reinicia manualmente o cuando se reinicia el servicio Docker .-v /var/run/docker.sock:/var/run/docker.sock
: Vincula una carpeta del servidor (izquierda) con una carpeta contenedora (derecha). En este caso, como Portainer tendrá acceso a los contenedores del servidor, vincula su información con eldocker.sock
archivo.-v portainer:/data
: Vincula el volumen con la carpeta de configuración de Portainer dentro del contenedor.-e TZ='America/Argentina/Buenos_Aires'
: Opcional, normalmente me gusta configurar manualmente la zona horaria del contenedor.portainer/portainer
: Indica la imagen utilizada para montar el contenedor. Si no se especifica ninguna versión, tomará la última versión estable.
7. Crear contenedores de prueba
Antes de seguir voy a generar un par de contenedores de prueba
docker run hello-world docker run nginx
8. Usando Portainer
En este caso, lo voy a probar en la misma vm, abrimos el navegador y vamos a http://localhost:9000 recordá que si ingresas desde otro equipo abrir el puerto en el firewall.
Al iniciar por primera vez, nos pedirá que creemos la contraseña para el usuario admin.
9. Seleccionamos en Local y clic en Connect
10. Una vez que ingresamos podemos hacer clic en local para ir a ver las opciones que tenemos disponibles.
11. Y finalmente lo más interesante en Containers podremos administrar los contenedores.
Por supuesto vamos a poder gestionar las redes, volúmenes, Imagenes y la mayoría de las opciones de docker, aunque no siempre se puede disponer de una interface gráfica, diganme que no se ve espectacular.