
プログラミング初心者向け:Docker Desktopとn8nで始めるノーコード自動化入門
「Webサービス連携や自動化に興味はあるけれど、環境構築がハードルに感じる…」「話題のn8nを試してみたいけど、自分のPCにごちゃごちゃソフトを入れたくない…」そんな悩みを持つ、特に環境構築にまだ慣れていないWeb開発者やプログラミング初心者の方へ。
この記事では、仮想化ツール「Docker Desktop」を使って、人気のノーコード/ローコード自動化ツール「n8n」を、あなたのPC(ローカル環境)に驚くほど簡単かつクリーンに導入し、すぐに試せる方法をステップバイステップで解説します。データが消えないように設定する方法(データ永続化)もしっかりカバー。この記事を読めば、面倒な設定に悩まされることなく、n8nを使った自動化の世界への第一歩を踏み出せます。
目次
あなたはこんなことで悩んでいませんか?
Web開発の勉強を始めたばかり、あるいはフロントエンド開発がメインで、サーバーサイドやインフラ周りはまだちょっと苦手意識がある…
「日々の定型作業を自動化して、もっと開発に集中したい!」
「話題のノーコードツール『n8n』で業務効率化できそうだけど、インストールとか環境設定が複雑そうで手を出せない…」
「自分の大切なPCに、よく分からないソフトウェアを直接インストールするのは抵抗がある…」
もし、あなたがこのように感じているなら、この記事はまさにあなたのためのものです!
この記事では、「Docker Desktop」という強力な助っ人ツールを使って、あなたのPCをクリーンな状態に保ちながら、驚くほど簡単にn8nをローカル環境で起動し、しかも作ったワークフローが消えずに使い続けられる方法を、どこよりも分かりやすく解説します。
読み終わる頃には、あなたもDockerの基本的な使い方を理解し、自信を持ってn8nの自動化機能を試せるようになっているはずです。
初心者向け:Dockerとn8nとは?
「Docker」「n8n」という言葉を初めて聞く方もいるかもしれません。まずは、これらが何なのかを簡単に見ていきましょう。
Dockerとは? PCを汚さずに開発環境を作る魔法
Dockerは、公式サイトによると「アプリケーションを構築、共有、実行するためのオープンプラットフォーム」と説明されていますが、もっと簡単に言うと、「コンテナ」という隔離された箱の中に、アプリケーションとそれが動くために必要なもの(ライブラリ、設定ファイルなど)を全部まとめてパッケージ化し、どこでも同じように動かせるようにする技術です。
Dockerを使うメリット:
- 環境構築が劇的に楽に!: 通常なら面倒なソフトウェアのインストールやバージョン管理、依存関係の解決などをDockerが肩代わりしてくれます。コマンド一つで必要な環境がすぐ手に入ります。
- 「私のPCでは動くのに…」を防ぐ: コンテナを使えば、開発環境と本番環境、あるいはチームメンバー間での環境差異による問題を大幅に減らせます。
- PCが汚れない!: アプリケーションは隔離されたコンテナ内で動くため、あなたのPC本体(ホストOS)の設定やファイルシステムに直接影響を与えにくいです。「試しにインストールして不要になったらすぐ消したい」という場合にも最適です。
まるで、アプリ専用の小さな仮想PCを、必要な時にサッと用意して、使い終わったら跡形もなく消せるようなイメージですね。
n8nとは? プログラミング不要の自動化ツール
n8n(エヌ・エイト・エヌ)は、公式サイトで「Workflow Automation for Technical People」と謳われているように、少し技術的な知識があるとより強力に使える、オープンソースのワークフロー自動化ツールです。
n8nの特徴:
- ノーコード/ローコード: プログラミングの知識が少なくても、画面上で様々な機能を持つ「ノード」を線で繋いでいくだけで、複雑な連携処理や自動化ワークフローを視覚的に構築できます。もちろん、JavaScriptコードを書いてカスタム処理を追加することも可能です。
- 豊富な連携サービス: Google Workspace (Gmail, Google Sheets, Google Drive), Slack, Discord, Twitter, Notion, WordPress, 各種データベース、さらにはカスタムHTTPリクエストまで、数百種類以上のサービスやAPIと簡単に連携できます。
- セルフホスト可能(今回使う方法!): 自分のPCやサーバー上でn8nを完全に無料で実行できます。データが外部に出ないのでセキュリティ面でも安心です。(クラウド版の有料サービスもあります)
例えば、「Gmailで特定の件名のメールを受信したら、その内容を抽出し、Slackに通知しつつGoogle Sheetsに記録する」といったワークフローを、プログラミングなしで作成できるのです。
ステップ1: Docker Desktopをインストールしよう
それでは、n8nを動かすための土台となる「Docker Desktop」をインストールしましょう。既にインストール済みの方は、このステップは飛ばしてステップ2へ進んでください。
- 公式サイトへアクセス: まず、Docker公式サイトのDocker Desktopページにアクセスします。
- ダウンロード: あなたがお使いのパソコンのOS(Windows, macOS, Linux)に合ったインストーラーをダウンロードします。「Download for Mac」「Download for Windows」のような分かりやすいボタンがあるはずです。
- インストール: ダウンロードしたファイルを実行し、画面の指示に従ってインストールを進めます。基本的にはデフォルト設定のままで問題ありません。
- Windowsの場合: インストール中に
WSL 2 installation is incomplete
のようなメッセージが出たら、指示に従ってWSL 2 (Windows Subsystem for Linux 2) という機能のインストールや有効化を行ってください。これがDocker Desktop for Windowsの基盤となります。 - macOSの場合: ダウンロードした
.dmg
ファイルを開き、Dockerアイコンをアプリケーションフォルダにドラッグ&ドロップするだけで完了する場合が多いです。
- Windowsの場合: インストール中に
- 起動と確認: インストール完了後、Docker Desktopを起動します。しばらく待つと、画面右下のタスクトレイ(Windows)や画面上部のメニューバー(macOS)にDockerのクジラのアイコンが表示されます。アイコンをクリック(またはマウスオーバー)して
Docker Desktop is running
のような緑色のステータスが表示されていれば、正常に起動しています。
もし起動に失敗する場合は、PCを再起動したり、Docker Desktopを再インストールしたりしてみてください。公式ドキュメントやトラブルシューティングの情報も参考になります。
ステップ2: n8nをDockerで起動しよう (データ永続化もOK)
Docker Desktopの準備が整いました!いよいよn8nを起動します。ここでは「ターミナル」(または「コマンドプロンプト」「PowerShell」)を使いますが、心配はいりません。以下のコマンドをコピーして貼り付けるだけです。
n8n起動コマンド (コピー用)
- ターミナルを開く:
- macOS: 「アプリケーション」フォルダ内の「ユーティリティ」フォルダにある「ターミナル.app」を起動します。Spotlight検索 (Cmd + Space) で「ターミナル」と入力してもOKです。
- Windows: スタートメニューで「cmd」と検索して「コマンドプロンプト」を起動するか、「powershell」と検索して「Windows PowerShell」を起動します。(PowerShell推奨)
- Linux: Ctrl+Alt+T などのショートカットキーでターミナルエミュレータを起動します。
- コマンドをコピー&ペーストして実行:
【重要】以下のコマンドブロック全体をコピーし、ターミナルに貼り付けてEnterキーを押してください。
Windowsのコマンドプロンプト(cmd.exe)をお使いの場合は、必ずこの1行のコマンドを使用してください。docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n -e GENERIC_TIMEZONE="Asia/Tokyo" n8nio/n8n
—
(参考:PowerShell / Linux / macOS で改行する場合)
PowerShellやLinux/macOS環境では、コマンドが長くて見にくい場合、行末に特定の記号を付けることで改行できます。- PowerShellの場合: 行末に “` ` “` (バッククォート) を付けます。
- Linux/macOSの場合: 行末に
\
(バックスラッシュ) を付けます。
以下は改行した場合の入力例です(Windowsのコマンドプロンプトでは動作しません)。
# PowerShellの場合は行末を ` (バッククォート) に変えてください docker run -d \ --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ -e GENERIC_TIMEZONE="Asia/Tokyo" \ n8nio/n8n
—
コマンド実行後、初回はn8nイメージのダウンロードに少し時間がかかることがあります。
Unable to find image 'n8nio/n8n:latest' locally
のようなメッセージが出ても問題ありません。ダウンロードが完了すると、最終的に長い英数字の文字列(コンテナID)が表示され、コマンド入力待ちの状態に戻れば成功です。もしエラーが出た場合: Docker Desktopが起動しているか、コマンドが正確にコピー&ペーストできているか(余計なスペースや改行が入っていないか)を再確認してください。
コマンドの意味を表で解説
先ほどのコマンドは何をしているのでしょうか?各パーツの意味を表にまとめました。
コマンドパーツ | 意味 | 備考 |
---|---|---|
docker run -d |
コンテナをバックグラウンドで起動 | ターミナルを閉じてもOK |
--name n8n |
コンテナに「n8n」という名前を設定 | 後で停止・削除しやすい |
-p 5678:5678 |
PCの5678番ポート → n8nの5678番ポートへ接続 | http://localhost:5678 でアクセス |
-v n8n_data:/home/node/.n8n |
【重要】n8nのデータをPCに保存(永続化) | ワークフロー等が消えない |
-e GENERIC_TIMEZONE="Asia/Tokyo" |
タイムゾーンを日本時間に設定 | ログの時刻表示などが日本時間に |
n8nio/n8n |
実行するDockerイメージ名を指定 | Docker Hubから最新のn8nを取得して起動 |
【応用】より安全に使うためのコマンド例
PCを再起動したときにもn8nコンテナが自動で起動するようにしたい場合は、--restart unless-stopped
オプションを追加します。
【1行コマンド】 (Windows コマンドプロンプトでもOK)
docker run -d --name n8n --restart unless-stopped -p 5678:5678 -v n8n_data:/home/node/.n8n -e GENERIC_TIMEZONE="Asia/Tokyo" n8nio/n8n
(参考:PowerShell / Linux / macOS で改行する場合)
# PowerShellの場合は行末を ` (バッククォート) に変えてください
docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e GENERIC_TIMEZONE="Asia/Tokyo" \
n8nio/n8n
他にも、環境変数をファイルで管理する方法 (--env-file
) や、データを名前付きボリュームではなく特定のフォルダに保存する方法 (-v $(pwd)/n8n:/home/node/.n8n
など) もありますが、これらは少し応用的な使い方になります。
n8nにアクセスしてみよう
コマンド実行後、少し待ってから(n8nの起動に数十秒かかる場合があります)、お使いのWebブラウザ(Chrome, Firefox, Edgeなど)を開き、アドレスバーに以下のように入力してアクセスしてください。
このようなn8nの初期セットアップ画面が表示されれば、無事に起動成功です!おめでとうございます!
画面の指示に従って、オーナーアカウント(管理者アカウント)のユーザー名やパスワードを設定してください。これで、あなたのPC上でn8nが自由に使えるようになりました。
ステップ3: まずはここから!n8nで簡単な自動化を体験
せっかくn8nが起動できたので、簡単なワークフローを作成して、基本的な使い方を体験してみましょう。ここでは例として、「1分ごとに現在の時刻を取得して表示する」という、非常にシンプルなワークフローを作ってみます。
- n8nの画面にログインしたら、「Add workflow」または「New workflow」のようなボタンをクリックして、新しい空のワークフロー編集画面を開きます。
- 画面中央にある「+」ボタンをクリックします。すると、利用可能なノード(機能ブロック)の検索画面が表示されます。
- 検索ボックスに「Schedule」と入力し、表示された
Schedule
トリガーノードをクリックして追加します。これは「いつワークフローを開始するか」を決めるノードです。 - 追加された
Schedule
ノードをクリックすると、右側に設定パネルが表示されます。「Settings」タブ内の「Trigger Interval」で「Minutes」を選択し、「Interval」に「1」と入力します。(これで「1分ごと」の設定になります) Schedule
ノードの右側にある小さな「+」をクリックし、今度は「Date & Time」と検索してDate & Time
ノードを追加します。これは日時に関する操作を行うノードです。Date & Time
ノードは、デフォルトで「現在の日時を取得する」設定になっているので、特に設定を変更する必要はありません。- 画面右上の「Test workflow」または「Execute workflow」ボタンをクリックして、ワークフローが正しく動作するかテスト実行してみましょう。
- 少し待って、
Schedule
ノードとDate & Time
ノードの両方に緑色のチェックマークが付けば、テスト成功です!Date & Time
ノードをクリックすると、取得された現在時刻などのデータを確認できます。 - 最後に、忘れずにワークフローを保存しましょう。画面右上の「Save」ボタンをクリックし、ワークフローに分かりやすい名前(例: 「時刻取得テスト」)を付けて保存します。
- そして、このワークフローを実際に有効化するために、画面右上のトグルスイッチ(Inactive / Active)をクリックして「Active」状態にします。
これで、「1分ごとに現在時刻を取得する」ワークフローが作成され、有効化されました!
このように、n8nでは様々な機能を持つノードをパズルのように繋ぎ合わせていくだけで、アイデア次第で様々な自動化処理を構築できます。ぜひ、他のノード(例えばHTTP Request
でWeb APIを叩いたり、Google Sheets
でスプレッドシートを操作したり)も試してみてください。
まとめ:Dockerでn8nを使いこなし、自動化の一歩を踏み出そう!
今回は、Docker Desktopという便利なツールを使って、初心者の方でも簡単かつ安全にn8nをローカル環境で起動し、基本的な使い方を試すまでの手順を解説しました。
この記事のポイント:
- Dockerを使えば、PCを汚さずに様々な開発ツール(今回はn8n)を驚くほど簡単に試せる。
- ターミナルでコマンドを正確にコピー&ペーストすれば、n8nを簡単に起動できる。
- 【重要】データ永続化(
-v
オプション)とタイムゾーン設定(-e
オプション)も忘れずに行うことが重要。 - n8nはノーコード/ローコードで、様々なWebサービス連携や業務自動化を実現できる強力なツール。
もう「環境構築が難しそう…」とためらう必要はありません。Dockerという武器を手に入れたあなたは、n8nだけでなく、他の様々なツールや開発環境も手軽に試すことができるようになりました。
今回起動したn8nは、あなたのアイデア次第で、日々の面倒な作業を自動化し、貴重な時間を生み出してくれる可能性を秘めています。
ぜひ、この記事をきっかけに、あなたのPC上でn8nを動かし、様々なノードを試しながら、あなただけの自動化ワークフロー作成に挑戦してみてください。自動化の世界は、思ったよりもずっと身近で、そして奥深い面白さがありますよ!
次のステップとして:
- n8n公式ドキュメント(英語) をチェックして、どんな連携サービス(Integrations)やノードがあるか見てみる。
- 「n8n 使い方」「n8n ワークフロー 事例」などで検索して、他の人がどんな自動化をしているか参考にしてみる。
- 付録のDockerコマンドを使って、n8nコンテナの停止や再開を試してみる。
付録:n8nコンテナ管理に役立つDockerコマンド集
n8nコンテナ(今回 --name n8n
で作成したもの)を操作するために、ターミナルでよく使う基本的なDockerコマンドをいくつか紹介します。
- 実行中のコンテナ一覧表示:
-
docker ps
現在動いているコンテナの情報(コンテナID、イメージ名、起動コマンド、ポート設定、名前など)が表示されます。「n8n」という名前のコンテナがあれば、正常に動いています。
- 停止中のコンテナも含めて一覧表示:
-
docker ps -a
過去に作成されたが、現在停止しているコンテナも表示されます。
- コンテナの停止:
-
docker stop n8n
実行中のn8nコンテナを安全に停止します。停止すると
http://localhost:5678
にアクセスできなくなります。 - 停止したコンテナの開始:
-
docker start n8n
以前に
docker stop n8n
で停止したコンテナを再開します。データは永続化されているので、停止前の状態で再開されます。 - コンテナの削除 (不要になった場合):
-
docker rm n8n
コンテナを削除します。実行中のコンテナは削除できないため、先に
docker stop n8n
で停止する必要があります。 コンテナを削除しても、-v
で指定したボリューム (n8n_data
) は自動では削除されません。 - コンテナのログ表示:
-
docker logs n8n
n8nコンテナの標準出力ログ(起動時のメッセージやエラーなど)を確認できます。何か問題が発生した場合に役立ちます。
-f
オプションを付けると、ログをリアルタイムで追跡表示し続けることができます (終了は Ctrl+C):docker logs -f n8n
- Dockerボリュームの一覧表示:
-
docker volume ls
Dockerが管理しているボリュームの一覧が表示されます。
n8n_data
という名前のボリュームがあるはずです。 - Dockerボリュームの削除 (データごと完全に削除する場合):
-
docker volume rm n8n_data
指定したボリュームを削除します。【警告】この操作を行うと、そのボリュームに保存されていたデータ(n8nのワークフローや設定など)は完全に失われ、元に戻せません。 通常、コンテナがそのボリュームを使用している間は削除できません。先にコンテナを停止・削除 (
docker stop n8n
,docker rm n8n
) しておく必要があります。本当に不要になった場合にのみ実行してください。