/ Docker / Linux

Administrar Docker desde una web!

Hola!

Docker es una herramienta DevOps muy óptima para el despliegue de aplicaciones. Su mayor valor es la eficiencia de uso del Hardware designado. 

Con portainer se podrá administrar todo cualquier Docker y sus contenedores respectivamente. Para esto sólo se necesita utilizar los siguientes comandos:

docker volume create portainer_data 
#Windows
docker run -d -p 8000:9000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data portainer/portainer
#Linux
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Luego se ingresa al panel web $IP:9000 desde un explorador web.

El cual es muy interesante, tiene muchas opciones útiles. Para los que ya han usado la cli de docker, gestionar por medio de este portal será sumamente sencillo.

Si tenemos un ambiente con Swarm, recomiendo utilizar el siguiente .yml

version: '3.2'

services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
ports:
- target: 9001
published: 9001
protocol: tcp
mode: host
networks:
- portainer_agent
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]

networks:
portainer_agent:
driver: overlay
attachable: true

Luego de crear este archivo lo desplegamos con el siguiente comando

docker stack deploy --compose-file=agent-stack.yml portainer-agent

En caso de que desees agregar un host remoto a tu portainer local, debes instalar el agente en el host remoto. Si es Swarm, el anterior es de ayuda, pero sino lo es. Utiliza el siguiente:

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 portainer/agent

En ambos casos se dejará expuesto el puerto 9001, el cual usaremos cuando conectemos a nuestro portainer local.

Adiós!