Install Docker - opensource-workshop/connect-cms GitHub Wiki
Docker を使った開発環境の構築(Windows 10・11)
Windows 10・11で、WSL2とDocker Desktopを使ってConnect-CMSの開発環境を構築する手順です。
- 初めて構築する場合は、セットアップから順に作業してください。
- 構築済みの環境を再開する場合は、開発を再開するを参照してください。
- 詳しい設定は、Docker 開発環境の補足情報を参照してください。
- エラーが発生した場合は、Docker 開発環境のトラブルシューティングを参照してください。
- Laravel Duskについては、Docker で Laravel Dusk を利用する方法を参照してください。
セットアップ
WSL2にディストリビューションをインストールする
コマンドプロンプトまたはPowerShellを管理者権限で起動し、次のコマンドを実行します。
wsl --install -d {distribution}
画面の案内に従って、任意のユーザー名とパスワードを設定してください。インストールできるディストリビューションは次のコマンドで確認できます。
wsl -l -o
Docker Desktopをインストールする
Docker Desktopをダウンロードしてインストールします。
Connect-CMSをダウンロードする
VS CodeでWSLのターミナルを開く
- VS Codeの拡張機能「WSL」をインストールします。
- VS Code左下のリモート接続アイコンをクリックし、「WSL への接続」を選択します。
- 「ターミナル」から「新しいターミナル」を選択します。
git cloneする
WSLのターミナルで次のコマンドを実行します。
mkdir src # ディレクトリ名は任意です。
cd src
git clone https://github.com/opensource-workshop/connect-cms.git
cd connect-cms
[!IMPORTANT] Connect-CMSはWSL側のファイルシステムに配置してください。Windows側のフォルダをシンボリックリンクで共有すると、ファイルアクセスが遅くなったり、DBコンテナが正常に起動しなかったりすることがあります。
DockerでConnect-CMSを起動する
docker compose build
docker compose up -d
The command 'docker-compose' could not be foundと表示された場合は、Docker Desktopが起動していることを確認してください。
Connect-CMSをセットアップする
docker/webapp/setup.shは、依存パッケージのインストールやLaravelの初期設定を行います。
初回セットアップ(既存データを削除しない)
docker compose run --rm webapp bash docker/webapp/setup.sh
php artisan migrate --forceとphp artisan db:seed --forceが実行されます。
データベースを完全に初期化する
SETUP_RESET_DB=1 docker compose run --rm webapp bash docker/webapp/setup.sh
互換性のため、SETUP_MIGRATE_FRESH=1も利用できます。
[!WARNING] この操作では既存テーブルがすべて削除されます。
シードを実行せず、マイグレーションだけを行う
SETUP_SKIP_SEED=1 docker compose run --rm webapp bash docker/webapp/setup.sh
セットアップオプション
| 変数 | 役割 | デフォルト |
|---|---|---|
SETUP_COMPOSER_FILE |
利用するcomposerファイルを指定します。 | PHP_INI_ENVまたはAPP_ENVがdevelopment / localのときはcomposer-dev.json、それ以外はcomposer.json |
SETUP_FORCE_UPDATE_ENV |
既存の.envもコンテナ用の値で更新します。 |
未指定 |
SETUP_RESET_DB / SETUP_MIGRATE_FRESH |
1 / true / yesを指定すると、DBを完全に初期化します。 |
未指定 |
SETUP_SKIP_SEED |
db:seedを実行しません。 |
未指定 |
動作確認
ブラウザでhttp://localhost/を開き、Connect-CMSの画面が表示されれば完了です。
開発を再開する
-
Docker Desktopを起動します。
-
VS CodeからWSLに接続し、Connect-CMSのディレクトリを開きます。
-
WSLのターミナルでコンテナを起動します。
docker compose up -d -
必要に応じてWebアプリケーションコンテナに入ります。
docker compose exec webapp bash -
ブラウザでhttp://localhost/を開きます。