Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

DotCloudを利用する

今までPaaSはHerokuを使ってたけど、
RDBMSが使いやすいこともあって、
DotCloudを使ってみた。


ドメインも取って、
個人的に作ったアプリを運用しだした。


まず、DotCloudの公式サイトでサインアップする。


DotCloudのコマンドをインストールする。
Pythonが必要。

$ python -v
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py
$ sudo easy_install pip && sudo pip install dotcloud
$ dotcloud setup
APIキーを入力

アプリケーションは、コマンドから作成できる。
Gitリポジトリごとpushできて、
DotCloudがそのままアプリとして稼働させてくれる。
かなり便利。

$ dotcloud create xxx
$ dotcloud push xxx .
$ dotcloud url xxx

Ruby(Sinatra)のアプリをデプロイしたけど、
必要なライブラリはGemfileに書くだけでいい。


データベースを使う場合、設定ファイルdotcloud.ymlに書いて、
いったんpushすると、データベースが作成されるようだ。

$ cat dotcloud.yml 
www:
  type: ruby
db:
  type: mysql
$ dotcloud info xxx.db
$ dotcloud run xxx.db -- mysql -u root -pxxx
mysql> create user 'xxx' identified by 'xxx';
Query OK, 0 rows affected (0.00 sec)

mysql> create database xxx default character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on xxx.* to 'xxxxx'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

infoでデータベースのパスワードなど、
情報を得られる。


それを使って、runでMySQLに接続すれば、
テーブルやユーザーを作成できる。


ちなみに。

$ sudo apt-get install libmysqlclient-dev

RubyからMySQLを使うとき、必要。
入れてないとgem install mysqlでエラーになる。