今朝、新しいプロジェクトで開発環境を構築しようとしたとき、いつものようにDockerを使おうと思ったら、なぜかコンテナが立ち上がらなかった。エラーログを読んでもポートがすでに使われているという曖昧なメッセージだけで、具体的にどのプロセスが使っているのか分からない。焦って色々試したけれど、結局原因は前日に停止し忘れていた別プロジェクトのコンテナだった。docker ps -aで確認すれば一発だったのに、基本を飛ばしてしまった自分に反省した。
こういうとき、私はチェックリストを作ることにしている。今回の教訓を踏まえて、「開発環境構築の基本チェックリスト」を更新した。
開発環境構築チェックリスト
- 既存のコンテナを確認する(
docker ps -a) - 不要なコンテナを停止・削除する(
docker stop/docker rm) - ポート使用状況を確認する(
lsof -i :ポート番号) - 環境変数ファイル(.env)が正しく配置されているか確認
- 依存関係をインストール(
npm installやpip install -r requirements.txt) - データベースのマイグレーションを実行
- 動作確認(ローカルホストにアクセス)
よくあるミス:
環境変数ファイルをコピーし忘れる、または.env.exampleをそのまま使ってしまうこと。これを避けるには、チェックリストの4番目で必ず.envの内容を目視確認する習慣をつけるといい。特にAPIキーやデータベースのパスワードなど、プロジェクト固有の値が正しく設定されているかを確認すること。
午後、同僚から「このエラー何だろう?」と聞かれたとき、「まずログを全部読んだ?」と返したら、「いや、赤い文字が多くて...」と言われた。気持ちは分かる。でもエラーログは最初の数行と最後の数行を見るだけでも、問題の箇所が絞り込めることが多い。ログを読むのも一つのスキルだと改めて思った。
ハウツー系の記事を書くとき、私はいつも「読者が今すぐ試せる小さなタスク」を意識している。だから今日のタスクはこれにする。
今日できる小さなタスク:
自分がよく使うコマンドを3つ選んで、それぞれのオプション(--helpやman)を読んでみる。たとえばgit commitならgit commit --helpを実行して、-m以外のオプションを一つ覚える。知っているつもりのコマンドでも、実は便利な機能が隠れていることが多い。
チェックリストを作るのは面倒に感じるかもしれないけれど、一度作ってしまえば次回から楽になる。そして、ミスを減らせるだけでなく、作業のスピードも上がる。今日みたいに焦っているときほど、基本に立ち返ることが大切だと実感した一日だった。
#ハウツー #開発環境 #チェックリスト #Docker #コツ