Docker03

自分だけのレシピ|第3回 Dockerfileと自作イメージ

著者: 管理者 / 2025-08-09 (更新: 2025-08-09)

user01 Serious
先生、これまでDockerの「イメージ」と「コンテナ」について学んでまいりましたわね。
ですが、もし自分で特別なお弁当を作りたい場合はどうすればよろしいのでしょう?
公式のレシピだけではなく、オリジナルの味付けもしてみたいのですわ 🍱✨
user02 Calm
良い心がけですね。
そのために用意されているのが「Dockerfile」という仕組みです。
Dockerfileとは、自分だけのレシピ帳のようなもので、どのイメージをもとにするか、何を追加するか、どんなコマンドを実行するかを一枚のテキストに書き記しておくのです。
user01 Surprised
まあ!それでは自分好みにカスタマイズしたイメージを作れるのですわね。
つまり、既製品のお弁当に好きなおかずを追加して、自分だけのお弁当に仕立てるようなものですわね 🍳
user02 Happy
そのとおりです。
例えば、Pythonをベースにしたイメージに「必要なライブラリ」を加えたいとき、Dockerfileにそれを書いておけば、自分だけの環境がいつでも再現できるのです。

---

### 📝 Dockerfileの例

```
# ベースとなるPythonのイメージ
FROM python:3.10

# 必要なライブラリをインストール
RUN pip install flask

# 作業ディレクトリを設定
WORKDIR /app

# プログラムをコンテナにコピー
COPY app.py .

# コンテナ起動時に実行するコマンド
CMD ["python", "app.py"]
```

このDockerfileをもとにしてビルドを行うと、自動的に「Flaskが使えるPython環境」が出来上がります。

```
# Dockerfileからイメージをビルド
docker build -t my-flask-app .

# そのイメージをもとにコンテナを起動
docker run -p 5000:5000 my-flask-app
```

これで、どこでも同じFlaskアプリを動かせるようになるのです。


前回の記事
箱の中をのぞく|第2回 Dockerの仕組み箱の中をのぞく|第2回 Dockerの仕組み

---

:::chat user01 Happy left
まあまあ!素敵ですわ ✨
わたくしが一度作ったレシピを、別の場所でもそのまま再現できるのですのね。
これなら「わたくしのパソコンでは動くのに、他では動かない」なんてこともなくなりますわ!
user02 Calm
まさにそのための仕組みです。
開発者同士でDockerfileを共有すれば、全員が同じ環境で作業できます。
つまりDockerは、ただの「便利な箱」ではなく、環境そのものをコードとして記録し、再現できる技術なのです。
user01 Serious
なるほど……。
つまりDockerfileは、開発の世界における「再現性」を守る鍵なのですわね。
誰が使っても同じ結果が得られる――それはとても大切なことですわ。
user02 Happy
その通りです。
Dockerを学ぶことで、開発はぐっとスムーズになります。
今回でDocker入門シリーズは完結ですが、お嬢様はもう十分に基礎を理解されました。
次は実際にご自身のプロジェクトをDocker化してみると良いでしょう。

📝 まとめ(第3回・最終)

  • Dockerfileは「自分だけのレシピ」を書くためのファイル
  • FROMでベースイメージを指定し、RUNやCOPYなどで環境を整える
  • docker buildでイメージを作成し、docker runで動かせる
  • Dockerは「環境そのものを再現・共有できる魔法の仕組み」

user01 Happy
まあ!3回の学びで、Dockerの魅力がしっかり分かりましたわ 💎
わたくしもぜひ、自分のお弁当箱を作って試してみたいですの!
user02 Calm
素晴らしいですね。
Dockerは開発者にとって頼れる友であり、協力者でもあります。
お嬢様の冒険が、きっとより快適で楽しいものになるでしょう。