Docka

Docka は Docker ベースのアプリケーションをデプロイするためのフレームワークです。

Installation

Add this line to your application's Gemfile:

gem 'docka'

And then execute:

$ bundle

Or install it yourself as:

$ gem install docka

Requirements

  • Mac OS X (Yosemite 以降)
  • Docker Toolbox (最新版)
  • VirtualBox (docker-machine 互換のバージョン)

Synopsis

Docker ベースの開発では少なくとも何十ものイメージやコンテナの作成や起動が必要です。小さな Web アプリケーションでもイメージやコンテナのプロビジョニングとそのテストだけですぐに時間が経ってしまいます。

Docker Toolbox はよいものですが、まだ何度も同じ手順を手作業で繰り返さなければならないことに気づきました。

Docka は Docker Toolbox を使った開発を気軽に自動化するための API と CLI ツールのパッケージです。

Features

アプリケーションごとの NFS ディレクトリ

アプリケーションごとに NFS の共有ディレクトリを自動で設定します。

# /etc/exports の例
/Users/mosop/my-app/docka/sync -mapall=501:20 192.168.99.105
/Users/mosop/my-another-app/docka/sync -mapall=501:20 192.168.99.105

Docker ホスト側のディレクトリは /docka/sync です。コンテナからボリュームとしてアクセスできます。

[WIP] Usage

[WIP] Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Todos

  • テストを書く
  • テスト/プロダクション環境のサポート (CI, AWS, etc...)
  • Docker イメージのプロビジョニングのサポート
  • セットアップ用のジェネレータ

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mosop/docka.