本文へスキップ
BecomeCoder

Dockerコース · 第4章 Dockerfileでイメージを作る · レッスン12

Dockerfileとは ― イメージの設計図

ブラウザで完結

導入

Dockerfile は、イメージの作り方を上から順に書いたテキストファイルです。「どのベースイメージから始めて」「何をコピーして」「どのコマンドで動かすか」を1行ずつ命令(インストラクション)として書いていきます。

説明

この端末の作業ディレクトリには、すでにサンプルの Dockerfile が置いてあります。cat Dockerfile で中身を見てみましょう。よく使う命令は次のとおりです。

  • FROM:土台にするベースイメージ。すべての Dockerfile はここから始まる。
  • WORKDIR:以降の作業ディレクトリ(コンテナ内の作業場所)を指定する。
  • COPY:ホストのファイルをイメージの中にコピーする。
  • RUN:ビルド時にコマンドを実行する(例: npm install で依存をインストール)。
  • EXPOSE:このイメージが使うポートを宣言する(ドキュメント的な意味合い)。
  • CMD:コンテナ起動時に実行する既定のコマンド。
FROM node:20-alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

上から順に「node:20-alpine を土台に、/app で作業し、package.json をコピーして npm install し、残りのファイルもコピーして、3000番を使う、起動したら node server.js を動かす」という設計図です。

やってみよう

  • 下の端末で cat Dockerfile を実行し、サンプルの設計図を読んでみましょう。
  • ls で、Dockerfile のほかに server.jspackage.json があることも確認しましょう。

実際に動かしてみよう

下の端末に docker コマンドを打って Enter を押すと、その場で結果が返ります。本文の手順を実際になぞりながら進めましょう(各レッスンは毎回まっさらな状態から始まり、「最初からやり直す」でいつでも戻せます)。

Docker(シミュレート)

ブラウザ内で docker コマンドを試せる学習用環境を読み込みます(本物のDockerではなく、動きを再現したものです)。
スクロールして表示された時点でも自動で読み込まれます。