Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| tech:docker:portainer [18/06/2026 22:57] – suprimit - edició externa (Data desconeguda) 127.0.0.1 | tech:docker:portainer [18/06/2026 23:51] (actual) – mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| + | = portainer | ||
| + | {{tag> | ||
| + | gestor de contenedores de Docker | ||
| + | == server | ||
| + | <code yaml docker-compose.yml> | ||
| + | services: | ||
| + | portainer: | ||
| + | #image: portainer/ | ||
| + | image: portainer/ | ||
| + | restart: always | ||
| + | network_mode: | ||
| + | volumes: | ||
| + | - / | ||
| + | - ./ | ||
| + | container_name: | ||
| + | # ports: | ||
| + | # - 9443:9443 | ||
| + | # - 8000: | ||
| + | |||
| + | # networks: | ||
| + | # | ||
| + | # name: portainer_network | ||
| + | </ | ||
| + | |||
| + | == agent (in remote server) | ||
| + | * fijamos la IP interna:< | ||
| + | name: portainer | ||
| + | |||
| + | services: | ||
| + | agent: | ||
| + | image: portainer/ | ||
| + | restart: always | ||
| + | networks: | ||
| + | portainer_agent_net: | ||
| + | ipv4_address: | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | - /:/host | ||
| + | container_name: | ||
| + | |||
| + | networks: | ||
| + | portainer_agent_net: | ||
| + | ipam: | ||
| + | config: | ||
| + | - subnet: 172.20.0.0/ | ||
| + | </ | ||
| + | * abrimos un tunel desde el servidor: <code bash># -f hace que se quede en background | ||
| + | ssh -N -f -L 9002: | ||
| + | # podemos localizarlo después con: | ||
| + | ps aux | grep ssh | ||
| + | # o eliminarlo directamente: | ||
| + | fuser -k 9002/tcp | ||
| + | </ | ||
| + | * configuramos el entorno en portainer server | ||
| + | * también se puede hacer a través de:<code bash> | ||
| + | # Instalación (en Ubuntu/ | ||
| + | sudo apt install autossh | ||
| + | |||
| + | # Crear el túnel persistente | ||
| + | autossh -M 0 -f -N -o " | ||
| + | </ | ||
| + | === otros comandos | ||
| + | * tunel activo?: <code bash> | ||
| + | # O también: | ||
| + | ss -tunlp | grep 9002</ | ||
| + | * ip contenedor: <code bash> | ||
| + | |||
| + | == agente | ||
| + | <code yaml> | ||
| + | services: | ||
| + | portainer-agent: | ||
| + | image: portainer/ | ||
| + | container_name: | ||
| + | restart: always | ||
| + | volumes: | ||
| + | - / | ||
| + | # - / | ||
| + | ports: | ||
| + | - " | ||
| + | # IMPORTANTE: En entornos muy restrictivos, | ||
| + | privileged: true | ||
| + | </ | ||
| + | |||
| + | == saltar "http VS https" en agente remoto tunelizado + 2 portainer servers | ||
| + | portainer degrada a http las conexiones locales. | ||
| + | * crear **127.0.0.1 agent.remote.local** en ''/ | ||
| + | * modificar portainer server para añadir:< | ||
| + | - " | ||
| + | * esto evita que se use el DNS de Docker que no encontraba ese servidor | ||
| + | * montar el tunel:< | ||
| + | * hemos montado un segundo agente (portainer solo adminte 1 conexión con un agente, y una vez emparejado no soporta más):< | ||
| + | |||
| + | services: | ||
| + | agent-fidmag: | ||
| + | image: portainer/ | ||
| + | restart: always | ||
| + | networks: | ||
| + | portainer_agent_net: | ||
| + | ipv4_address: | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | - /:/host | ||
| + | container_name: | ||
| + | |||
| + | agent-mate: | ||
| + | image: portainer/ | ||
| + | restart: always | ||
| + | networks: | ||
| + | portainer_agent_net: | ||
| + | ipv4_address: | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | - /:/host | ||
| + | container_name: | ||
| + | |||
| + | networks: | ||
| + | portainer_agent_net: | ||
| + | ipam: | ||
| + | config: | ||
| + | - subnet: 172.20.0.0/ | ||
| + | </ | ||
| + | == reset contraseña | ||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | docker pull portainer/ | ||
| + | docker run --rm -v ./ | ||
| + | </ | ||