##目的
dockerfileの書き方自分用メモ
##基本
FROM ubuntu:latest //ベースとなるイメージ決定 最初に記述する
RUN touch test // カスタマイズ。RUNごとにimageレイヤーができる
CMD ["/bin/bash"] // デフォルトコマンドを指定 原則最後に記載するCMD["コマンド","引数1", "引数2"]
##注意
レイヤーは最小限にする。(RUN ADD COPYを最小限に)
CMDはレイヤーを作らない
##基本2
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
curl \
nginx
##基本3
FROM ubuntu:latest
FROM ubuntu:latest
RUN mkdir /new_dir
COPY something /new_dir/ // COPY <srcのフォルダorファイル> <destinationのパス> dockerコンテクストにあるファイルやフォルダを指定してコンテナにコピーする
##基本4
FROM ubuntu:latest
RUN mkdir /new_dir
ADD compressed.tar / // COPY <srcのフォルダorファイル> <destinationのパス> dockerコンテクストにあるtarファイルやフォルダを解凍してコンテナにコピーする
##基本5
FROM ubuntu:latest
RUN touch test
ENTRYPOINT ["ls"] //ENTRYPOINTはCMDと違ってdocker run 時に上書きできない。 また、オプションをCMDへ書く
CMD ["--help"]
##基本6
FROM ubuntu:latest
ENV key1 value //環境変数を設定 ENV <key名> <値>
ENV key2=value
##基本7
FROM ubuntu:latest
RUN mkdir sample_folder // 実はいらない
WORKDIR /sample_folder // instructionの実行ディレクトリを変更する
RUN touch sample_file
##注意
cdはバグのもと