Recentemente, abbiamo voluto testare le nostre applicazioni in un ambiente locale. Le nostre applicazioni utilizzano vari servizi come Cassandra, Aerospike, Mysql, ecc. L'impostazione di questi servizi a livello locale richiede molto tempo per ogni sviluppatore, quindi abbiamo impostato questi servizi per funzionare in docker. In questo articolo spiegheremo come impostare Aerospike in docker e inizializzare il server con funzioni definite dall'utente.
Per prima cosa, estraiamo l'immagine di centos dal repository del docker e installiamo il file tar usando wget (e aggiungiamo il logrotato che Aerospike usa).
Eseguire yum -y installare logrotate ||| uscita $?
DA CENTRO
RUN yum -y install tar ||| uscita $?
Eseguire yum -y installare wget ||| uscita $?
Scaricheremo Aerospike dal repository e lo installeremo:
ENV AEROSPIKE_VERSION=3.5.4
RUN wget “https://www.aerospike.com/artifacts/aerospike-server-community/${AEROSPIKE_VERSION}/aerospike-server-community-${AEROSPIKE_VERSION}-el6.tgz” -O aerospike.tgz || exit $?
RUN mkdir aerospike ||| uscita $?
RUN tar xzf aerospike.tgz -strip-components=1 -C aerospike ||| uscita $?
RUN cd aerospike && ./asinstall ||| uscita $?
Ora abbiamo un'immagine docker con Aerospike installata. Dobbiamo anche aggiungere le funzioni definite dall'utente all'immagine docker. Il seguente comando aggiungerà una cartella user-udf nell'immagine docker che contiene le UDF:
ADD user-udf user-udf
Poi esponiamo i porti di Aerospike, in modo che vi si possa accedere da altri container portuali:
ESPORRE 3000 3001 3002 3003
Nel nostro caso, abbiamo bisogno di uno script per avviare il server Aerospike e importare le funzioni definite dall'utente. Possiamo impostare lo script per l'esecuzione usando "CMD":
CMD datapipe-user-udf/bin/start.sh
Di seguito è riportato il contenuto dello script start.sh. Questo script avvierà Aerospike in background. Importerà quindi le funzioni definite dall'utente:
/usr/bin/asd -foreground &
dormire 5
/usr/bin/ascli udf-put user-udf/udf/didSet.lua ||| uscita $?
/usr/bin/ascli udf-put user-udf/udf/gidSet.lua ||| uscita $?
/usr/bin/ascli udf-put user-udf/udf/stidSet.lua ||| uscita $?
aspetta
Possiamo costruire l'immagine dell'Aerospike docker con il seguente comando:
docker build -t aerospike <aerospike-docker-folder>
Eseguire Aerospike:
ormeggio -t -p 3000:3000 aerospike
Il server Aerospike è ora operativo sulla porta 3000:3000 (lega la porta sul vostro localhost).
È possibile accedere ad Aerospike attraverso l'indirizzo tcp localhost:3000.