LoginSignup
4
4

More than 5 years have passed since last update.

dockerでmroongaの複数バージョンを試す環境を作成する。

Last updated at Posted at 2016-02-10

TL;DR

  • 目的 dockerの理解

新しいMacBookも買ったので、ローカルの環境にDockerで開発環境を作りたい
docker-machineとdocker-composeを使う。
バックエンドのMySQLでmroongaを使ってて、Macで開発環境を作っていたらMacのOSアップデート時に、見事におかしくなってしまい。
ローカル環境はちゃんと仮想化しておくべしだと痛感した故。

  • 環境
    Mac OS X EL Capitan バージョン10.11.3

  • 資料
    Dockerファイル!整備されています!
    https://hub.docker.com/r/groonga/mroonga/

  • この資料の範囲
    dockerでmroongaのとあるバージョンをインストールして、ホスト側から接続するまでの説明

手順

groonga/mroongaのDockerファイルをclone

git clone https://github.com/mroonga/docker mroonga_docker

docker-machineを作成します。

docker-machine create --driver virtualbox mroonga

docker-machine env mroonga

eval $(docker-machine env mroonga)

docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                                       Unknown
mroonga   -        virtualbox   Running   tcp://192.168.99.105:2376           v1.10.0
nodeapi   -        virtualbox   Running   tcp://192.168.99.103:2376           v1.10.0

ビルド

git clone https://github.com/mroonga/docker mroonga_docker
cd mroonga_docker/
docker build -t mroonga_docker Dockerfile/mysql5628_mroonga511

run

docker run  --detach --name mroonga -p 3307:3306  mroonga_docker

docker ps


ホストから接続

mysql -h$(docker-machine ip mroonga) -P3307 -u root

検索できるかどうかのテスト


create database test;

use test;

CREATE TABLE diaries (id INT PRIMARY KEY AUTO_INCREMENT,content VARCHAR(255),FULLTEXT INDEX (content)) ENGINE = Mroonga DEFAULT CHARSET utf8;

INSERT INTO diaries (content) VALUES ("It'll be fine tomorrow.");
INSERT INTO diaries (content) VALUES ("It'll rain tomorrow");

INSERT INTO diaries (content) VALUES ("明日は晴れるでしょう");
INSERT INTO diaries (content) VALUES ("晴れ時々曇りとなります");
INSERT INTO diaries (content) VALUES ("雨上がりはいいですね");
INSERT INTO diaries (content) VALUES ("梅雨の季節になりました");

mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST("fine");
+----+-------------------------+
| id | content                 |
+----+-------------------------+
|  1 | It'll be fine tomorrow. |
+----+-------------------------+
1 row in set (0.01 sec)

mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST("晴れ");
+----+-----------------------------------+
| id | content                           |
+----+-----------------------------------+
|  3 | 明日は晴れるでしょう              |
|  4 | 晴れ時々曇りとなります            |
+----+-----------------------------------+
2 rows in set (0.01 sec)

その他コマンド


docker start mroonga
docker stop mroonga

docker images

docker ps 

docker exec -it  mroonga_docker /bin/bash

(おまけ)4コマ漫画連載中on東洋経済オンライン

東洋経済オンラインで「エンジニア夫婦のあるある日記」を連載中です

エンジニア夫婦のあるある日記

あるある日記.jpg

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4