Dokkuとは?基本情報やメリット、Herokuとの違いを詳しく解説!

Dokkuは、Herokuと同様にアプリケーションを簡単に開発・公開できるプラットフォームです。

無料で利用できるうえ、Dockerを基盤とした柔軟なカスタマイズが可能であるため、Herokuの代替方法として近年注目を集めています。

本記事では、Dokkuの基本的な特徴や、Herokuとの違いについて詳しく解説します。

\ 2週間無料でお試しできます! /
Unix系OS専門のホスティングサービス「ミライサーバー」
Unix/Linux系VPSをこの価格で!
全プランSSD搭載でコストパフォーマンス◎
・豊富なOSラインアップ
・充実の無料サポート
VPSを使ってみる 

Dokkuとは

Dokkuの概要

Dokkuは、オープンソースのPaaS(Platform as a Service)ソリューションで、Herokuのような機能を提供する軽量なアプリケーションデプロイツールです。

2013年に Jeff Lindsay によって開発され、シンプルさと使いやすさを重視して設計されているのが特長です。

特に個人開発者や小規模プロジェクト向けに、複雑なインフラ管理を必要とせず、アプリケーションの開発に専念することができます。

Dockerコンテナ技術を基盤としており、様々な言語やフレームワークに対応しています。

Winserver:Dockerコンテナとは? コンテナ型仮想化技術を活用した新しい仕組みを解説!

Dokkuの特長

コスト効率の良さ
Dokkuはオープンソースソフトウェアであるため、無料で利用できます。
これは、特にHerokuのような有料のPaaSサービスから移行するユーザーにとって、大きなメリットです。
さらに、安価なVPSやクラウドプロバイダー上で動作するため、コストを抑えながら高機能なPaaS環境を構築できます。

フレキシブルなデプロイ方法
Dokkuは、Git PushやDockerイメージを使用してアプリケーションをビルドし、独立したコンテナで実行します。
この柔軟性により、開発者は自分の好みに合わせたデプロイ方法を選択できるようになります。

プラグインシステムによる拡張性
Dokkuはプラグインシステムを提供しており、任意の言語でプラグインを書くことができます。
これにより、既存の機能に加えて、必要な機能を自由に追加することが可能です。
例えば、データベースサポートやカスタムドメイン設定など、多様なプラグインを利用して環境をカスタマイズできます。

シンプルな管理インターフェイス
Dokkuは、CLIで、直感的な操作で管理できます。プラグインを利用することでWebダッシュボードも利用可能であり、GUIでの操作も可能です。

Herokuからの移行が容易
DokkuはHerokuと同じBuildpackを利用できるため、Herokuからの移行が容易です。
Herokuは有料のPaaSサービスであり、移行を検討しているユーザーにとって大きなメリットです。
以上により、Dokkuは開発者や企業にとって、効率的かつコスト効率の高いアプリケーション管理プラットフォームとして広く利用されています。

\ 2週間無料でお試しできます! /
VPSを使ってみる

DokkuとHerokuの違い

Herokuは、アプリケーションを簡単に開発・公開できるクラウドプラットフォーム(PaaS)で、Dokkuと似たサービスです。

DokkuとHerokuの違いを紹介します。

サービスの提供方法

Herokuはクラウドベースのフルマネージドサービスとして提供され、インフラストラクチャの管理が不要です。

一方、Dokkuは自身のサーバーにインストールして使用する必要があります。

Herokuでは複数のリージョンからサービスを選択できますが、Dokkuは基本的にシングルサーバーでの運用を前提としています。

ただし、Dokkuは独自サーバーで運用できるため、データの所在地や処理性能を完全にコントロールすることが可能です。

利用料金

Herokuは月額および従量制の課金モデルを採用しており、使用するリソースに応じて料金が発生します。

一方、Dokkuそのものはオープンソースソフトウェアとして無料で利用できます。

ただし、Dokkuの場合はサーバーのホスティング費用が別途必要となるため注意が必要です。

一般的に、小規模から中規模のプロジェクトではDokkuの方がコスト効率に優れています。

管理方法

Herokuが提供する直感的なWebインターフェースに対し、Dokkuはコマンドラインインターフェース(CLI)を中心とした管理です。

ただし、Dokkuはプラグインを利用することでWebインターフェースでの管理も可能です。

Herokuではプラットフォーム側で多くの管理タスクが自動化されていますが、Dokkuではサーバーのメンテナンスやスケーリング、バックアップなどを自身で管理する必要があります。

セキュリティ

Herokuはサービス提供ベンダーが包括的なセキュリティ対策を提供し、コンプライアンス認証も備えています。

Dokkuの場合、セキュリティ設定はユーザー管理者の責任となりますが、より詳細なカスタマイズが可能です。

また、独自サーバーでの運用により、データの所在地や通信経路を完全にコントロールできる利点があります。

拡張性

Herokuは水平スケーリングが容易で、複数のサーバーにまたがる大規模な運用が可能です。

一方、Dokkuは基本的にシングルサーバーでの運用を想定しているため、大規模なスケールアウトには適していません。

ただし、プラグインシステムを通じて機能拡張が可能で、必要な機能を柔軟に追加できます。

また、Dockerベースのアーキテクチャにより、コンテナレベルでのリソース管理が可能です。

これまでの内容をまとめると、以下の表のとおりとなります。

DokkuHeroku
サービス提供形式ユーザーがVPSやクラウドを選択クラウド
デプロイ方法Git push

Docker Image

Git push

Heroku CLI

利用料金無料

(サーバーホスティング費用が必要)

有料
管理方法CLI

(プラグインでWebダッシュボード利用可)

CLI

Webダッシュボード

セキュリティユーザーが管理サービス提供ベンダーが管理
拡張性プラグインを利用Herokuアドオンを利用
スケーリング手動(コンテナレベル、外部ツールで拡張可)自動

\ 2週間無料でお試しできます! /
VPSを使ってみる

Dokkuのセットアップ手順

Dokkuはシングルサーバーでの運用を想定しているため、VPS(Ubuntu Linux)を利用した手順を紹介します。

Dokkuのインストール

インストール手順は、公式サイトの「Quick-start Instructions」にも表示されているため、参考にしてください。

以下のコマンドを実行します。

wget -NP . https://dokku.com/bootstrap.sh

インストーラーがダウンロードされるので、以下のコマンドでインストーラーを実行します。

sudo DOKKU_TAG=v0.35.14 bash bootstrap.sh

※DOKKU_TAGに設定する値は最新バージョンによって異なるため、公式サイトの内容をご確認ください。

インストールが完了すると、以下のように表示されます。

Dokkuの設定

Dokkuのインストールが完了したら、次にグローバルドメインの設定と、SSH公開鍵の追加設定を行います。

・SSH公開鍵の追加設定

 cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin

・グローバルドメインの設定

dokku domains:set-global <dokkuに割り当てるドメイン名>

※IPアドレスを使用する場合
dokku domains:set-global [サーバーのipアドレス]

※sslip.ioサービスを利用する場合
dokku domains:set-global [サーバーのipアドレス].sslip.io

アプリケーションのデプロイ

DokkuサーバーにSSHでアクセスし、以下のコマンドを実行してアプリケーションを作成します。

 dokku apps:create アプリケーション名

例:

dokku apps:create ruby-sample-app

ローカル環境で、デプロイしたいアプリケーションのリポジトリをクローンします。

git clone https://github.com/dokku/ruby-sample-app

次に、Dokkuサーバーにリモートリポジトリを追加します。

cd ruby-sample-app
git remote add dokku dokku@<サーバーのFQDNまたはIPアドレス>:ruby-sample-app

アプリケーションのデプロイ

以下のコマンドを実行して、アプリケーションをデプロイします。

git push dokku main

デプロイには数分かかりますが、完了すると「Application deployed」と表示されます。

デプロイが完了したら、指定されたURLでアクセスしてアプリケーションが正しく動作することを確認します。

\ 2週間無料でお試しできます! /
VPSを使ってみる

まとめ

本記事ではDokkuについて解説しました。

DokkuはHerokuに代わるアプリケーション開発プラットフォームとして注目されています。

Herokuと異なり無料で利用できる点や、Dockerをベースとしているため自由度が高く柔軟に対応できる点が大きなメリットです。

一方で、シングルサーバーでの運用を想定しているため、大規模システムには適していません。

また、Dokkuを使用するにはVPS環境の構築とセットアップが必要ですが、公式ドキュメントが充実しており、セットアップ手順もシンプルです。

ミライサーバーのVPSを用いて構築することも可能ですので、本記事のセットアップ手順を参考に、まずは小規模なWebアプリやAPIを実際に導入して試してみてください。

Dokkuのシンプルさと柔軟性が、開発プロセスをどれほど効率化できるかを体感できるでしょう。

LinuxのVPSならミライサーバー

ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。

ミライサーバーのVPSでは、高速処理が可能なSSD全プランに搭載しています。

OSは、UbuntuDebianAlmaLinuxなどの豊富なラインアップから選択することができます。

2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。

▼ミライサーバーについてはこちら▼Unix系OS専門のホスティングサービス「ミライサーバー」

プランの選択でお困りの場合は、ぜひ一度お問い合わせください。

お問い合わせはこちら

VPSなら「ミライサーバー」

・全プランSSD搭載
・2週間無料

▶ ミライサーバーを無料で試す

関連記事

特集記事

TOP