Installazione e gestione host docker

Installazione

Per installare il servizio aggiungere al server linux il repository ufficiale preso dal sito docker.com (versione CE o EE).

Terminata l’installazione va configurato per utilizzare i certificati in modo da potersi connettere in sicurezza anche sul pubblico

  • aggiunta nei DNS del nome a dominio ca usare come CN nel certificato
  • creazione del certificato per il server utilizzando una CA già presente (creazione chiave privata openssl genrsa -des3, creazione CSR openssl req -new -key, creazione csr e creazione certificato openssl ca -days 3650)
  • creazione file /etc/docker/daemon.json nell’host con il seguente contenuto
  • disabilitazione della direttiva -H del servizio come da seguente issue https://github.com/docker/docker/issues/25471#issuecomment-263101090

Firewall

Impostare il loading all’avvio del sistema di un file contenente le regole di base del firewall (apertura porta per Zabbix, SSH, HTTP, porta 2376 Docker, ecc…).

Evitare di salvare le regole impostate (tramite iptables-save) mentre il demone docker è in esecuzione in quanto verrebbero salvate anche le regole caricate dai container avviati e diverrebbero persistenti mentre in realtà non lo devono essere.

N.B.: Quando un container pubblica una porta questa viene raggiunta indipendentemente da eventuali regole di firewall INPUT. Nel caso si voglia restringere o non consentire l’accesso a tale porta utilizzare la regola FORWARD seguente

Connessione al server dai client

Il certificato per connettersi dai client al server è uno di quelli generati dalla stessa CA usata per il certificato del servizio Docker.

 

Per la gestione delle macchine docker è utile il container portainer.io che fornisce un interfaccia grafica unificata per la gestione di più macchine docker.

Per visualizzare i container attivi su una macchina

Per visualizzare tutti i container (anche gli spenti)

Per liberare spazio inutilizzato si possono usare i comandi indicati qui https://gist.github.com/bastman/5b57ddb3c11942094f8d0a97d461b430#file-docker-cleanup-resources-md

  • eliminare i volumi
  • eliminare le reti
  • eliminare le immagini
  • eliminare i container

 

Container utili

Di seguito alcuni comandi o compose file di alcuni container degni di nota. I compose file integrano la rete traefik per l’uso con l’omonimo reverse proxy.

nginx-proxy

Impostato come reverse proxy per l’hosting di più siti web (uno per container).

watchtower

Container che verifica se sono presenti versioni aggiornate dei container in esecuzione e li aggiorna automaticamente.

php-apache

Container da utilizzare per l’esecuzione di un ambiente PHP e Apache.

pureftp

Container per esporre il servizio ftp.

dockbix-agent-xxl-limited

Container per il monitoraggio del server docker e di tutti i container. Utilizzando net=host va creata la regola su iptables per aprire la porta 10050 in ingresso.

Siccome il container di Zabbix non supporta il restart è bene gestirlo così https://github.com/monitoringartist/dockbix-agent-xxl#dockbix-agent-xxl-service-managed-by-systemd

zabbix-xxl

Compose file per la realizzazione di un server Zabbix (maggiori info qui https://github.com/monitoringartist/zabbix-xxl)

Il container zabbix-xxl ha integrato l’agent ma non gestisce il monitoraggio dei container sulla macchina come fa dockbix-agent-xxl. È possibile installare sulla stessa macchina sia dockbix-agent-xxl che zabbix-xxl creando in Zabbix un secondo host (con l’ip dell’interfaccia di rete della macchina) agganciandogli il template Dockbix.

portainer.io

Container per il monitoraggio e gestione via GUI di docker.

restreamer

Container per restream di flussi video.

traefik

Si tratta di un potente e versatile reverse proxy, per maggiori info meglio visitare il sito web www.traefik.io. Nel compose file seguente è stato impostato per essere collegato a una rete definita ad hoc (impostando anche il nome che sull’host apparirà associato al relativo bridge) che viene poi associata a tutti i container che dovranno essere pubblicati tramite tale reverse proxy.

docker-compose-ui

Interfaccia grafica web-ui per docker-compose

 

Aggiungi ai preferiti : Permalink.

I commenti sono chiusi