Dockerfileの書き方入門

こんにちは。今回は、Dockerについて初心者エンジニアに向けて、Dockerfileの書き方について解説します。

はじめに

Dockerfileは、Dockerイメージを作成するための設定ファイルです。Dockerfileを作成することで、Dockerイメージのビルドが自動化され、同じ環境を簡単に再現できるようになります。

Dockerfileの書き方

Dockerfileは、テキストファイルで作成します。基本的な書き方は、以下のような形式になります。

# ベースイメージの指定
FROM イメージ名:タグ

# パッケージのインストールや設定の実行
RUN コマンド1 \
    && コマンド2 \
    && ...

# ポートの公開
EXPOSE ポート番号

# コンテナ実行時に実行されるコマンドの指定
CMD ["コマンド", "引数1", "引数2", ...]

ベースイメージの指定

Dockerfileの最初の行には、ベースとなるDockerイメージを指定します。ベースイメージは、Dockerイメージの元となるイメージで、その上に必要なパッケージや設定を追加していきます。

FROM python:3.9

パッケージのインストールや設定の実行

ベースイメージに追加するパッケージのインストールや設定の実行は、RUN命令を使用して行います。

RUN apt-get update \
    && apt-get install -y git \
    && git clone https://github.com/example/example.git

ポートの公開

Dockerコンテナ内で使用するポートを公開する場合は、EXPOSE命令を使用します。

EXPOSE 8000

コンテナ実行時に実行されるコマンドの指定

コンテナ実行時に実行されるコマンドは、CMD命令を使用して指定します。CMD命令は、Dockerfileで一度しか使用できず、最後に書く必要があります。

CMD ["python", "app.py"]

サンプルコード

以下は、Flaskを使用するPythonアプリケーションをDockerイメージ化するためのDockerfileの例です。

FROM python:3.9

WORKDIR /app

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 5000

CMD ["python", "app.py"]

注意点

  • Dockerfileのインデントは、スペース2つを使用してください。
  • ベースイメージやパッケージのバージョンは、必ず指定してください。
  • EXPOSE命令で指定したポート番号と、実際にアプリケーションが使用するポート番号が一致していることを確認してください。

まとめ

Dockerfileを作成することで、Dockerイメージのビルドを自動化し、環境の再現性を高めることができます。Dockerfileの書き方について基本的な書き方を紹介しました。Dockerfileの設定を理解し、より高度な設定を行えるようになることをお勧めします。

参考文献

 

Docker 関連のまとめ

Docker 関連のまとめ
Docker Composeで外部Volumeを使う方法   Docker Composeで簡単に複数コンテナを管理しよう   Docker Desktopの有料化に伴う代替手段について   Dockerfileとdocker-compos...

 

オンラインスクールを講師として活用する!

【完全無料】使えるプログラミングスクール体験セミナー
【完全無料】使えるプログラミングスクール体験セミナー WEB制作の無料教材がここにきてどんどん増えてきてるので、使えるものをまとめようと思います。 TecAcademy(テックアカデミー) TechAcademyの無料体験 Samurai ...

 

0円でプログラミングを学ぶという選択

タイトルとURLをコピーしました