Come creare un'immagine Docker Elk e creare un contenitore Docker

Come creare un'immagine Docker Elk e creare un contenitore Docker
Docker è una delle migliori tecnologie per la virtualizzazione e gli ambienti isolati per la costruzione di applicazioni.

Questo tutorial ti mostrerà come creare un'immagine Docker che integra ElasticSearch, Kibana e Logstash. È quindi possibile utilizzare l'immagine per distribuire lo stack ELK su qualsiasi contenitore Docker.

Iniziare

Per questa guida, inizieremo installando e impostando Docker su un sistema. Una volta impostato Docker, distribuiremo un container con Elasticsarch, Kibana e Logstash nello stesso sistema. In quel contenitore, possiamo quindi modificare e personalizzare lo stack elastico alle nostre esigenze.

Una volta che abbiamo lo stack di Elk appropriato, esporteremo il contenitore Docker in un'immagine che puoi utilizzare per creare altri contenitori.

Passaggio 1: installa Docker

La prima cosa che dobbiamo fare è installare Docker su un sistema. Per questo tutorial, stiamo usando Debian 10 come sistema di base.

Il primo passo è aggiornare i pacchetti APT utilizzando il comando seguente:

Sudo Apt-get Aggiornamento

Successivamente, dobbiamo installare alcuni pacchetti che ci consentiranno di utilizzare APT su HTTPS, che possiamo fare usando il seguente comando:

sudo apt-get installa apt-transport-https ca-certificates curl gnupg-agent software-properties-comune

Il prossimo passo è aggiungere la chiave GPG del repository Docker usando il comando:

Curl -fssl https: // download.Docker.com/linux/debian/gpg | sudo Apt-Key Aggiungi -

Da lì, dobbiamo aggiungere il repository Docker ad Apt usando il comando:

sudo add-apt-repository "deb [arch = amd64] https: // download.Docker.com/linux/debian $ (lsb_release -cs) stabile "

Ora possiamo aggiornare l'indice del pacchetto e installare Docker:

Sudo Apt-get Aggiornamento
SUDO APT-get Installa Docker-CE Docker-Cli Containerd.io

Passaggio 2: estrazione dell'immagine di Docker Elk

Ora che abbiamo Docker attivo e funzionante sul sistema, dobbiamo tirare un contenitore Docker contenente lo stack di Elk.

Per questa illustrazione, useremo l'immagine Elk-Docker disponibile nel registro Docker.

Usa il comando qui sotto per tirare l'immagine Docker.

Sudo Docker Pull Sebp/Elk

Una volta che l'immagine è stata estratta correttamente dal registro Docker, possiamo creare un contenitore Docker usando il comando:

Sudo Docker Run -p 5601: 5601 -P 9200: 9200 -P 5044: 5044 -it --Name Elkstack Sebp/Elk

Una volta creato il contenitore, tutti i servizi (Elasticsearch, Kibana e Logstash) verranno avviati automaticamente ed esposti alle porte sopra.

Puoi accedere ai servizi con gli indirizzi

  • http: // localhost: 9200 - elasticsearch
  • http: // localhost: 5601 - kibana web
  • http: // localhost: 5044 - logstash

Passaggio 3: modifica del contenitore

Una volta che ci siamo alchi e in esecuzione sul contenitore, possiamo aggiungere dati, modificare le impostazioni e personalizzarli per soddisfare le nostre esigenze.

Per motivi di semplicità, aggiungeremo dati di esempio da Kibana Web per testarlo.

Nella home page principale di Kibana, selezionare Prova i dati di esempio per importare il campione.

Scegli i dati da importare e fai clic su Aggiungi dati

Ora che abbiamo importato e modificato il contenitore, possiamo esportarlo per creare un'immagine Elk personalizzata che possiamo usare per qualsiasi immagine Docker.

Passaggio 4: crea un'immagine Docker Elk dal contenitore

Con tutte le modifiche nel contenitore dello stack elastico, possiamo esportare il contenitore in un'immagine usando un singolo comando come:

Docker Commit C3F279D17E0A Myrepo/Elkstack: versione2

Usando il comando sopra, abbiamo creato l'immagine Elkstack con il tag versione2 nel repository Docker Myrepo. Ciò consente di risparmiare tutte le modifiche che abbiamo apportato dal contenitore e puoi usarlo per creare altri contenitori.

Conclusione

Questa guida rapida e semplice ha mostrato come creare un'immagine Elk personalizzata per Docker con le modifiche. Per coloro che hanno esperto con Docker, puoi usare Dockerfiles per svolgere le stesse attività ma con più complessità.