Aerospique em Docker

Recentemente, quisemos testar nossas aplicações em um ambiente local. Nossas aplicações utilizam vários serviços como Cassandra, Aerospike, Mysql, etc. A instalação desses serviços localmente leva muito tempo para cada desenvolvedor, por isso configuramos esses serviços para serem executados no estivador. Neste artigo, vamos percorrer como configurar o Aerospike na docker e inicializar o servidor com funções definidas pelo usuário.

Primeiro, nós puxamos a imagem dos centos do repositório docker e instalamos o arquivo tar usando wget (e adicionamos o logrotate que Aerospike usa).

RUN yum -y install logrotate || exit $?

DE centos

CORRER yum -y install tar || sair $?

RUN yum -y install wget || exit $?

Vamos baixar o Aerospike do repositório e instalá-lo:

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 $?
CORRER mkdir aerospike || sair $?
RUN tar xzf aerospike.tgz -strip-components=1 -C aerospike || exit $?
CORRER cd aerospike && ./asinstall || sair $?

Temos agora uma imagem da doca com o Aerospike instalado. Também precisamos de adicionar as funções definidas pelo utilizador à imagem da doca. O seguinte comando adicionará uma pasta user-udf na imagem de docker que tenha UDFs nela:

ADD utilizador-udf utilizador-udf

Depois expomos os portos de Aerospike, para que se possa aceder a partir de outros contentores das docas:

EXPOR 3000 3001 3002 3003

No nosso caso, precisamos de um script para iniciar o servidor Aerospike e importar as funções definidas pelo usuário. Podemos configurar o script para ser executado usando o "CMD":

CMD datapipe-user-udf/bin/start.sh

O conteúdo do script start.sh é o seguinte. Este script irá iniciar o Aerospike em processo de fundo. Em seguida, ele irá importar as funções definidas pelo usuário:

/usr/bin/asd - em primeiro plano &
dormir 5
/usr/bin/ascli udf-put user-udf/udf/didSet.lua || exit $?
/usr/bin/ascli udf-put user-udf/udf/gidSet.lua || exit $?
/usr/bin/ascli udf-put user-udf/udf/stidSet.lua || exit $?
esperar

Podemos construir a imagem da doca Aerospike com o seguinte comando:

docker build -t aerospike <aerospike-docker-folder>

Corre Aerospike:

pista de aterragem -t -p 3000:3000 aerospike

O servidor Aerospike está agora a funcionar na porta 3000:3000 (liga a porta ao seu anfitrião local).
Você pode acessar Aerospike através do endereço tcp localhost:3000.

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado