目次
Dockerをインストールする
Dockerをインストールします。特に変わったことはありません。Get Started with Docker | Docker
WSL2をインストールする
Docker for Windowsをインストールして再起動すると、WSLがないと怒られるのでインストールします。調べた情報では「wsl_update_x64.msi」を実行してアップグレードすればOKということで、元あったファイルを使ってインストールしたんですけど、今現在はPowerShellでコマンドを叩くだけで完了するみたいです。Microsoftの公式ページを調べたところ、
最新のWindows 10 のバージョン 2004 以降 (ビルド 19041以降)または Win 11では、WSL2のインストールがめちゃくちゃ簡単になっていて、管理者権限でPowerShellを開いて以下のコマンドを実行するだけでした。
WindowsにWSL2とDockerをインストールする手順 | カフーブログwsl --install
proxyサーバを構築する
ローカル環境ではproxyサーバを使って振り分けをしているので、まずそれを構築します。ローカルのDockerで複数サービスを動かしproxyでドメインを捌くようにしてみた – NOBODY:PLACE
証明書を再発行する
ここでSSL関連のエラーが出るので証明書を再発行しておきます。オレオレ証明書の発行は例によってmkcertで。Chocolateryをインストールする
Windows用のパッケージマネージャーです。
Windows10にChocolateyをインストールする – Qiita
PowerShellでコマンドを叩くだけで行けます。
mkcertをインストールする
下記コマンドを実行してください。
Windows10にmkcertをインストールする – Qiita
これまたPowerShellでコマンドを叩くだけで行けます。
証明書を発行する
例えばこんな感じ。mkcert -cert-file app/ssl/shared.crt -key-file app/ssl/shared.key localhost 127.0.0.1 local local.com
サービスごとにコンテナを作成していく
サービスごとに順次コンテナを作成していきます。僕の場合、proxyやMailHog含めて全部で5つかな。docker-compose up --build -d
必要に応じてhostsにドメインを追加する
proxyで捌きたいドメインはhostsに登録する必要があります。デフォルトだとhostsファイルへの書き込み権限がないのでそれを付与しつつ、捌きたいドメインをhostファイルに追加していきます。これで元の環境が整いました。簡単!関連記事
Vagrant上で動かしてた開発環境をDocker上で動かすようにしてみた(メモ) – NOBODY:PLACEローカルのDockerで複数サービスを動かしproxyでドメインを捌くようにしてみた – NOBODY:PLACE
【Docker】ローカル開発環境にMailHogを導入してみた – NOBODY:PLACE
再構築してみての感想
証明書に関しては本当に必要だったかどうかわかりませんが、サーバ環境のセットアップが全てDockfileとdocker-compose.ymlで完了してしまうのは便利以外の何ものでもありません。コマンドを打ち込んだあとは特に何もすること無く元の開発環境が戻ってきました。適切にセットアップさえしていれば、データも問題なしです。敢えて言うならDockerのインストールが一番手間掛かったかも。それぐらい手間掛かりませんでした。これまでであればイメージを丸ごと保存しておくか、そうでない場合は必要な環境情報をメモっておいて順次インストールしていくという手段が必要だったんですけど、Dockerのおかげで環境情報を残しておけばワンクリックで同じ環境が再現出来るようになってめちゃくちゃ幸せになりました。もしDockerじゃなかったら仕事始めにはとても間に合ってない……素晴らしい時代ですね。
なんとかなってほんと良かった。