logo docker

Come usare Serposcope dentro un container Docker e vivere felici e contenti

In questi giorni ho scoperto Serposcope e me ne sono innamorato; è un bel software ed un’ottima alternativa free a tool ben più blasonati.

Grazie a Serposcope potrete controllare in maniera accurata l’andamento in serp del sito o dei siti che vi interessano per le keywords che vi interessano.

Per quanto riguarda il software è scritto in Java e funziona su tutte le piattaforme per cui è disponibile una JVM.

Se desiderate utilizzare il software installandolo semplicemente vi rimando all’ottima guida presente sul sito… enjoy 🙂 .

In questi giorni, però, ho scoperto Docker; Docker permette di creare un ambiente isolato (un container se vogliamo già iniziare ad utilizzare la terminologia di Docker) dentro cui fare girare la nostra applicazione.

E’ già disponibile un container ufficiale ma risulta avere una vecchia versione.

Visto che mancava il container che mi serviva ho provato a creare la mia immagine personalizzata e voglio qui riportare i passi ed i file necessari a ripetere il lavoro.

Dunque… intanto andiamo a quest’indirizzo: https://hub.docker.com/r/serphacker/serposcope/~/dockerfile/ . Come potete vedere un Dockerfile inizia con una direttiva FROM che indica da quale immagine vogliamo partire. In questo caso viene utilizzata la java:8-jre (cioè l’immagine chiamata java con tag 8-jre).

Se la cerchiamo su Docker Hub scopriremo che questa immagine è deprecata in favore dell’immagine openjdk (maggiori informazioni qui).

Prima di iniziare a scrivere il Dockerfile conviene guardare anche un’altra immagine di Serposcope e cioè questa. Questa seconda versione di Serposcope invece di usare un pacchetto .deb scarica il .jar e lo esegue.

Ed allora… pianifichiamo un attimo: vogliamo usare l’immagine openjdk (per l’esattezza la openjdk:9-b179-jre), vogliamo aggiornare i pacchetti dell’immagine e vogliamo installare Serposcope.

Di seguito il Dockerfile.

FROM openjdk:9-b179-jre
RUN apt-get update && apt-get upgrade -y
RUN mkdir /opt/serposcope
RUN wget https://serposcope.serphacker.com/download/2.7.1/serposcope-2.7.1.jar -O /opt/serposcope-2.7.1.jar
VOLUME /var/lib/serposcope/
EXPOSE 7134
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

Come noterete serve un file chiamato entrypoint.sh; siccome non avevo molto tempo ho “semplificato” questo file per farlo andare e ve lo allego sotto.

#!/bin/sh

java -jar /opt/serposcope-2.7.1.jar

Se create una cartella con questi 2 file, ci entrate dentro e date il comando:

docker build -t myserposcope .

Vi ritroverete con l’immagine pronta per essere utilizzata per creare un container. A questo punto vi basterà dare il comando:

docker run -d –restart=always -p 7134:7134 –name serposcope myserposcope

E poi puntare con il browser all’indirizzo dove state facendo girare il container ed alla porta 7134.

A questo punto avrete il vostro Serposcope completamente dockerizzato, con poche modifiche al dockerfile è possibile cambiare la versione della JVM o addirittura utilizzare un’altra distribuzione al posto della Debian Stretch che viene utilizzata in questo caso.

Se troverò tempo vorrei scrivere un secondo tutorial su come sia possibile creare un ambiente di hosting per WordPress ad alte prestazioni utilizzando Docker senza impazzire 🙂


Pubblicato

in

,

da

Commenti

4 risposte a “Come usare Serposcope dentro un container Docker e vivere felici e contenti”

  1. Avatar Mario

    Ciao, bell’articolo, essenziale. Una sola domanda, non capisco che vantaggio si ha nell’usare serposcope dentro docker.

    1. Avatar Flavio Albano

      Ciao… che ti devo dire? mi sarò fatto prendere la mano! 😀
      A parte questo volevo vedere se ero in grado di scrivere un Dockerfile che mi portasse ad una configurazione funzionante… tuttavia la tendenza è verso la dockerizzazione dei sofware (a questo proposito ti segnalo RancherOS)

      1. Avatar Mario

        Capito e.. interessante!
        Non conoscevo RancherOS. Seguirò gli sviluppi, grazie.

  2. […] in un momento di pausa, ho letto questo breve ma interessante articolo in cui si parla di come usare Serposcope in un container […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.