はじめに
最近、個人のプロジェクトでテストの自動化に挑戦し、GitHub Actionsを導入したのですが、1つ問題が発生しました。
ローカル環境ではテストがパスするのに、GitHub Actions上ではパスしない。
これは明らかに環境の差によるもので、Dockerを学ぶタイミングだと思い、勉強を始めることにしました。
基本的な知識の習得
まずは書籍で基礎から学ぶことにしました。
読んだのは、『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』です。
この本では、
- イメージとは?
- コンテナの作り方
- 基本操作
- Dockerfileとは?
といった基礎がしっかり学べました。
図解が豊富でとても分かりやすく、Dockerの最低限の基礎を押さえるのに最適でした。
実際の導入
実際にプロジェクトでDockerを導入する際は、生成AIに助けてもらいながら進めました。
基礎知識があったので、AIにDockerfileを生成してもらった後の作業もスムーズに進められました。
# Node.js公式イメージ(22系)をベースにする
FROM node:22
# 作業ディレクトリを作成・移動
WORKDIR /app
# 依存インストール用ファイルのみ先にコピー
COPY package*.json ./
# 依存パッケージをクリーンインストール
RUN npm ci
# プロジェクト全体をコンテナにコピー
COPY . .
# デフォルトコマンド(テスト実行)
CMD ["npm", "run", "test"]
感想
- 実際に問題に直面してから学習することで、なぜその技術が必要なのかを体感しながら学べました
- 書籍で基礎を押さえたあとに実際のプロジェクトに適用したことで、理解が一気に深まりました