VPSにDockerを入れて、ローカルと同じ開発環境をiPhoneから作る
はじめに
VPSを借りたら次にやりたいことといえば、開発環境の整備だ。Dockerを使えば、ローカルPCと全く同じ構成をVPS上に再現できる。docker compose up 一発でサービスが立ち上がり、データベースも、バックエンドも、フロントエンドも全部まとめて動く。
そしてこの作業こそ、Claushのバックグラウンド処理が最も輝く場面だ。Dockerのインストールやイメージのビルドは数分〜数十分かかることがある。その間ずっとターミナルを眺めている必要はない。Claushに「終わったらSlackに通知して」と伝えるだけで、iPhoneをポケットにしまってしまえばいい。
DockerをVPSにインストールする
Ubuntu/Debian系のVPSであれば、以下のコマンドでインストールできる。
# 古いバージョンの削除(クリーンな状態にする)
sudo apt remove docker docker-engine docker.io containerd runc 2>/dev/null
# 必要なパッケージのインストール
sudo apt update && sudo apt install -y ca-certificates curl gnupg
# DockerのGPGキーを追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# リポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
# Dockerのインストール
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
インストールには数分かかる。ここでClaushに指示を出して、通知を待てばいい。
「Dockerをインストールして、終わったらSlackに通知して」
なぜバックグラウンド処理+通知が重要なのか
Dockerのインストールだけなら数分で終わる。しかし実際の開発では、もっと時間のかかる作業がある。
| 作業 | 所要時間の目安 |
|---|---|
| Dockerインストール | 2〜5分 |
| イメージのpull(postgres, nginxなど) | 1〜3分 |
| イメージのbuild(Dockerfileから) | 5〜30分以上 |
| npm install / pip install | 3〜10分 |
| CI/CDパイプラインの実行 | 10〜60分 |
これらの間、ずっとターミナルを監視するのは時間の無駄だ。
Claushなら一言で解決する。
「docker compose build してから compose up -d して、全部終わったらSlackに通知して」
あとはiPhoneをポケットに入れて、コーヒーでも飲んでいればいい。通知が来た瞬間に開発を再開できる。
Docker Composeで開発環境を立ち上げる
実際のプロジェクトでは docker-compose.yml を使って複数のサービスを一括管理する。
# docker-compose.yml の例
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: password
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
起動は一コマンドだ。
docker compose up -d
これもClaushに任せられる。
「docker compose up -d して、コンテナが全部起動したか確認してから通知して」
ローカルと同じ環境がVPSに完成する
Dockerを使う最大のメリットは環境の再現性だ。
- ローカルで動いたものが、VPSでも必ず動く
- チームメンバーと全く同じ環境を共有できる
- OSに依存しない(Ubuntuでも、Debianでも同じ)
そしてClaushがあれば、その環境構築をiPhone一台から操作できる。
まとめ
| 内容 | |
|---|---|
| やること | VPSにDockerをインストールし、docker-compose.ymlで環境を構築 |
| 時間がかかる作業 | インストール・イメージbuild・npm installなど |
| Claushの使い方 | 「〜して、終わったらSlackに通知して」の一言で任せる |
| メリット | ローカルと同じ環境・iPhoneから操作・待ち時間ゼロ |
時間のかかる作業こそ、Claushのバックグラウンド処理に任せるべき場面だ。通知が来るまで、別のことをしていればいい。