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イメージのサイズを小さくできます。
