Dockerはコンテナ技術を使って、アプリケーションを簡単にデプロイできる便利なツールです。特にDockerfileは、その設定ファイルとして重要な役割を果たします。このページでは、Dockerfileの基本と、ベストプラクティスを紹介します。
Dockerfileとは、Dockerイメージを作成するためのレシピのようなものです。アプリケーションの環境設定や依存関係をこれに書き、Dockerイメージを作ります。たとえば、どのOSを使うか、どのプログラムをインストールするかなどを指定します。
まずは、簡単なDockerfileの例を見てみましょう。以下のように書きます。
# ベースイメージを指定
FROM ubuntu:20.04
# メタデータを追加
LABEL maintainer="your_email@example.com"
# パッケージのインストール
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
# 作業ディレクトリを設定
WORKDIR /app
# ファイルをコピー
COPY . /app
# アプリケーションを実行
CMD ["python3", "your_script.py"]
Dockerイメージのサイズが大きいと、それだけダウンロード時間がかかります。できるだけ軽いベースイメージを選びましょう。たとえば、alpine
は非常に軽量です。
手順を分けて書くと、再ビルド時にキャッシュが利用されて効率的です。
# パッケージのインストールを分ける
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
RUN apt-get install -y python3-pip
COPY
やADD
コマンドでは、必要最低限のファイルだけをコピーするようにしましょう。不要なファイルを含めると、イメージサイズが増えてしまいます。
他の人が理解しやすいように、Dockerfile内にコメントを入れると良いです。例えば、各手順の目的を簡単に説明するコメントを追加します。
# ベースイメージを指定
FROM ubuntu:20.04
# メンテナ情報を追加
LABEL maintainer="your_email@example.com"
# Pythonとpipをインストール
RUN apt-get update && apt-get install -y python3 python3-pip
Dockerfileの基本的な書き方と、初心者向けのベストプラクティスを紹介しました。上記のポイントに気をつけながら、自分のプロジェクト用にDockerfileを作成してみましょう。