Hatena::ブログ(Diary)

周回遅れのブルース

2016-04-28

初心者だが Docker で MySQLサーバー構築を試みたい

| 11:29 | 初心者だが Docker で MySQLサーバー構築を試みたいを含むブックマーク

ほいほーい、相変わらずサーバーサイドに弱いわたくしですが、本日も Azure 上に MySQLサーバーを構築したいと思います。

先日も MySQL データベースを Azure 上に設けたわけですが、Marketplace 調べたら他にもいろいろ MySQL のサービスが見つかりました。それがこちら。

二つ目の Docker ・・・最近各所で耳にしますが、wiki で調べてみると・・・

Docker(ドッカー)はソフトウェアコンテナ内のアプリケーションのデプロイメントを自動化するオープンソースソフトウェアである。・・・

とあります。こちらの記事も詳しい。

アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識

なるほど・・・・コンテナ管理ソフトウェアなのね。といってもイマイチよくわかってないがw

まさに周回遅れっ、いまさら感が炸裂しておりますが、そこんとこはご容赦を願いつつ―!(*ノωノ) さっそく Docker の MySQL を Azure 上に展開してみたいと思います。



Docker をデプロイ

Azure ポータルに接続し、「新規 +」アイコンをクリック。「Marketplace を検索」 に 「MySQL」 と入力し Enter で、Marketplace 上 のMySQL に関するサービスが列挙されます。本日のデプロイターゲットは上から二つ目、公開元が Docker の mysql になります。

f:id:hilapon:20160427182622p:image


「作成」をクリック。必要な情報を入力し 「OK」 をクリック。今回はリソースグループを 「docker」、仮想マシン名を 「docker-mysql」 にしました。ベタベタですね(笑

f:id:hilapon:20160427182624p:image

この設定を見ていると、仮想マシンを作ったうえで Docker コンテナを配置、コンテナ内のMySQL を利用するという流れになるようです。どうやらDocker Hub というものらしいです。


次にサイズです。サイズは一番安い 「A0 Basic」 を選び 「選択」 をクリックします。

f:id:hilapon:20160427182625p:image


「設定」 は特にそのままでおk。「概要」 もおkで進めます。

f:id:hilapon:20160427182626p:image


デプロイ開始、そのまましばらく待たされます・・・・まあ気長に待つとしますか。

f:id:hilapon:20160427182627p:image


デプロイ完了しました。

f:id:hilapon:20160427182628p:image


さて、MySQLにはどうやって接続するか・・・まずはSSHクライアントの Putty を起動し、Azure ポータルに表示されてる 「Public IP アドレス」 を指定して接続します。

f:id:hilapon:20160428105007p:image


ログインし、sudo mysql と打ち込んでも Command Not Found と怒られるだけ。そりゃそうか、そもそも Docker が起動してないようなので、Docker を起動します。ここから先は以下の記事が詳しい。

Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)構築

一時的に Docker コンテナのMySQL が起動し、バージョンも確認できた。ただしその後 PuTTY 再起動し仮想マシンにログインしたら、MySQL に接続できん・・・(+_+) というわけで、現時点さっぱり判らないから続きは次回!(の予定)



2016/04/29 追記

チラシの裏のような記事ですが、試行錯誤しながら試してます。まずはコンテナをいったんすべて削除して・・・

docker rm -f $(docker ps -a -q)


上記記事にとおり MySQL のイメージを Docker Hub から取得し起動します。

docker run --name mysql -e MYSQL_ROOT_PASSWORD=pass -d mysql:5.7


docker exec で、コンテナに移動します。

docker exec -ti mysql bash


MySQL を起動。これで Docker コンテナの MySQL を動かすことができるようになった。

mysql -ppass

f:id:hilapon:20160429154540p:image

しかし、MySQL の起動に時間がかかるのか、初回のコマンドではエラーになり、2〜3分後再度コマンド投げたら接続できた。こういうもんなのか?


以上、いまはあくまでお試しなのでかなりテキトーですが、今後 Docker コンテナを業務で使うつもりなら、書籍やネットで体系的に学習する必要がありますね。

 

 

トラックバック - http://d.hatena.ne.jp/hilapon/20160428/1461810549