DockerでのAerospike

最近、私たちは自分たちのアプリをローカル環境でテストしたいと思いました。私たちのアプリは、Cassandra、Aerospike、Mysqlなどの様々なサービスを使用しています。 これらのサービスをローカルにセットアップするのは、各開発者にとって非常に時間がかかるため、これらのサービスをdockerで実行するようにセットアップしました。 この記事では、dockerでAerospikeをセットアップし、ユーザー定義関数でサーバーを初期化する方法を説明します。

まず、dockerリポジトリからcentosのイメージを引き出し、wgetを使ってtarファイルをインストールします(Aerospikeが使用するlogrotateも追加します)。

RUN yum -y install logrotate || exit $?

FROM centos

RUN yum -y install tar || exit $?

RUN yum -y install wget || exit $?

リポジトリからAerospikeをダウンロードしてインストールします。

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

これで、Aerospikeがインストールされたdockerイメージができました。 また、ユーザー定義関数をdockerイメージに追加する必要があります。 次のコマンドは、UDFが入っているdockerイメージにuser-udfフォルダを追加します。

ADD user-udf user-udf

そして、Aerospikeのポートを公開し、他のdockerコンテナからアクセスできるようにします。

暴露 3000 3001 3002 3003

今回のケースでは、Aerospikeサーバーを起動し、ユーザー定義関数をインポートするスクリプトが必要です。 CMD "を使ってスクリプトの実行を設定することができます。

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

以下は、start.shスクリプトの内容です。 このスクリプトはAerospikeをバックグラウンドで起動します。 そして、ユーザー定義関数をインポートします。

/usr/bin/asd -foreground &
スリープ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 $?
待つ

以下のコマンドでAerospikeのDockerイメージをビルドします。

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

Run Aerospike。

docker run -t -p 3000:3000 aerospike

これでAerospikeサーバーが3000:3000ポートで起動しました(ローカルホストのポートをバインドします)。
Aerospikeには、tcpアドレスlocalhost:3000でアクセスできます。

についてShareThis

ShareThis は、2007年以来、ソーシャルシェア、インタレスト、インテントのデータを統合することで、グローバルなデジタル行動の力を引き出してきました。300万以上のグローバルドメインにおける消費者の行動をもとに、ShareThis は、実際のデジタルデスティネーションにおける実際の人々の行動をリアルタイムに観察しています。

ニュースレターを購読する

最新のニュース、ヒント、アップデートを入手する

登録

関連コンテンツ