#【docker build】
かめさん いつもありがとうございます。
米国AI開発者がゼロから教えるDocker講座
##docker buildコマンドは何をしているのか。
docker buildをする時に、指定されたフォルダをDocker deamonに渡す。
Docker deamonがそれを基に、Docker imageを作る。
##build context
docker buildの時に、dockerfileが置いてあるフォルダを指定している。
→ その指定したフォルダのことをbuild contextという。
※context : 状況や環境の意味。
buildに使わないファイルは、build context入れない。
COPYやADDでbuild contextの中にあるファイルをDocker imageに組み込む。
###COPY
HostからContainerにファイルやフォルダを渡すことができる。
$ cd ~/Documents/docker
$ touch something
$ docker build .
$ docker run -it < image > bash
$ ls /new_dir
※ ADDは、大きなサイズのフォルダやファイルをtarで小さくして送る。
→ tarの圧縮ファイルをコピーして、解凍させたい時に使う。
###ENTRYPOINT
docker run の時に上書きしてもらいたくないコマンドを指定する時に使う。
※DockerfileにENTRYPOINTがある時はCMDの役割が変わる。
→ ENTRYPOINTのオプションをCMDに記入することになる。
###ENV
環境変数を設定する。
(OSの上で動くあらゆるプロセスが情報を共有するために使う変数)
例) ENV < key > < value >
###WORKDIR
Docker instructionの実行ディレクトリを変更する。
例) WORKDIR < 絶対path >
##"Dockerfile"という名のファイルがbuild contextに入っていない場合
$ docker build -f < dockerfilename > < build context >