Aerospike dans docker
Récemment, nous avons voulu tester nos applications dans un environnement local. Nos applications utilisent divers services tels que Cassandra, aerospike, MySQL, etc. La mise en place de ces services localement prend beaucoup de temps pour chaque développeur, donc nous avons mis en place ces services pour s'exécuter dans docker. Dans cet article, nous allons marcher à travers la façon de configurer aerospike dans docker et initialiser le serveur avec des fonctions définies par l'utilisateur.
Tout d'abord, nous tirer l'image de CentOS à partir du référentiel docker et installer le fichier tar en utilisant wget (et ajouter logrotate qui utilise aerospike).
RUN yum-y installer logrotate | | sortie $?
DE CentOS
RUN yum-y installer tar | | sortie $?
RUN yum-y installer wget | | sortie $?
Nous allons télécharger aerospike à partir du référentiel et l'installer:
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 $?
Exécutez mkdir aerospike | | sortie $?
RUN tar xzf aerospike. tgz-Strip-Components = 1-C aerospike | | sortie $?
RUN CD aerospike & &./asinstall | | sortie $?
Nous avons maintenant une image de docker avec aerospike installé. Nous devons également ajouter les fonctions définies par l'utilisateur à l'image du docker. La commande suivante ajoutera un dossier utilisateur-UDF dans l'image de docker qui a des UDF dans lui:
Ajouter utilisateur-UDF User-UDF
Ensuite, nous exposons les ports de aerospike, de sorte qu'il peut être accédé à partir d'autres conteneurs docker:
EXPOSER 3000 3001 3002 3003
Dans notre cas, nous avons besoin d'un script pour démarrer le serveur aerospike et d'importer les fonctions définies par l'utilisateur. Nous pouvons définir le script à exécuter en utilisant "CMD":
CMD DataPipe-utilisateur-UDF/bin/start. sh
Ce qui suit est le contenu du script start.sh. Ce script va commencer aerospike dans le processus d'arrière-plan. Il va ensuite importer les fonctions définies par l'utilisateur:
/usr/bin/ASD – premier plan &
Sleep 5
/usr/bin/ascli UDF-put user-UDF/UDF/didSet. lua | | sortie $?
/usr/bin/ascli UDF-put user-UDF/UDF/gidSet. lua | | sortie $?
/usr/bin/ascli UDF-put user-UDF/UDF/stidSet. lua | | sortie $?
Attendre
Nous pouvons construire l'image du docker aerospike avec la commande suivante:
docker build -t aerospike <aerospike-docker-folder>
Exécutez aerospike:
docker Run-t-p 3000:3000 aerospike
Le serveur aerospike est maintenant opérationnel sur le port 3000:3000 (lie le port sur votre localhost).
Vous pouvez accéder à aerospike via l'adresse TCP localhost: 3000.