Dockerfile
はDockerイメージを作成するための定義ファイルです。docker build
コマンドでイメージを構築するための定義ファイルです。
😀 Dockerfileのサンプル
まずはRailsを使うためのDockerfileのサンプル。
# Dockerfile |
🤔 Dockerfileのコマンド
Dockerfileで使えるコマンドは次のような物があります。
コマンド名 | 説明 |
---|---|
FROM | ベースイメージの指定 |
RUN | コマンドの実行 |
CMD | docker run の際に起動するコマンド |
ENTRYPOINT | docker run の際に起動するコマンド |
LABEL | コンテナとイメージに付与できるラベル |
EXPOSE | コンテナ内のプロセスがListenするポート |
ENV | 環境変数 |
ADD/COPY | ホストのOSからコンテナにファイルをコピーする |
VOLUME | 外部からマウント可能なボリューム |
USER | RUN, CMD, ENTRYPOINTを実行するユーザー |
WORKDIR | 作業ディレクトリ |
ONBUILD | 次のビルドで実行させるコマンド |
🎉 Dockefileのコメント
#
で始まる行はコメントとして処理されます。
# コメント |
🐞 .dockerignoreファイル
.dockerignore
はDockerで無視するファイルを指定できるファイルです。
# コメント |
# コメント
: コメントとしてこの行を無視します*/temp*
: tempで始まる名称のファイルとディレクトリを除外*/*/temp*
: ルートから2つ下のディレクトリのtempで始まる名称のファイルとディレクトリを除外temp?
: tempに一致するファイルとディレクトリを除外 (例: /tempa)
😼 Alpineイメージ
Alpineはセキュアで軽量なLinuxのディストリビューションのひとつです。musl libc
とBusyBoxベースで、パッケージ管理にはAPKという独自のシステムを使っています。
こちらを使うとUbuntuなど使う場合に比べて、Dockerイメージのサイズを小さくできます。