name: overview class: title, smokescreen, shelf, no-footer # 第14回 Docker(2) Dockerfileの書き方 <div class=footnote> <small> </small> </div> --- class: compact, img-right # dockerエコシステム(生態系)の復習 <div class=footnote> <small> <small> </small> </small> </div> ![](../../images/docker-ecosystem.png) <small> 1. デファクトスタンダード 1. 単なるPaaSではなく、<B>アプリ実行環境一式を取り扱う仕組み</B>がdocker(前頁を参照) 1. <B>docker hub</B>があること(最重要) - すぐに使えるコンテナ(公式,非公式,同人(?))の提供場所 - githubと同様にハブ、<B>ノウハウのハブ</B>。 githubのようにノウハウの集積場所。 人気がでれば、ここにノウハウが集まり続ける。 <B>この正のスパイラルを構築できたことが勝因</B> </small> --- class: compact,img-right # My コンテナの作り方・使い方 <div class=footnote> <small> <small> (脚注) dockerコマンドはdockerデーモンのAPIを叩く単なるインターフェイスです。 各種の実作業はdockerデーモンが行います </small> </small> </div> ![](../../images/docker-overview.png) <small> 1. 設定ファイル(Dockerfile)を書く 1. `docker build ...`を実行 <br> (以下dockerコマンドの動作) 1. ベースになるコンテナをdocker hubからダウンロード 1. Dockerfileに沿ってコンテナを作成 1. `docker run`でコンテナを実行 </small> --- class: compact # 設定ファイル(Dockerfile)の概要 <div class=footnote> <small> <small> (脚注) 詳細は演習で解説があります </small> </small> </div> - テキストファイル - 上から下に順番に実行する - いわゆるスクリプト - 命令 - 大文字のDockerfile命令群を書いていく - `RUN ...`命令により、(コンテナの中で)Unixコマンドを実行し、コンテナを構築する - 細かいコンテナのカスタマイズは、ここで行う。 つまりUnixの動作やUnix管理コマンド群の使い方を知らないとDockerfileは書けない