1.イメージからコンテナを起動
2.コンテナの中でなにかコマンドを実行
起動したコンテナの中でライブラリのインストールとか
3.フェーズ2.をいちいちコマンドプロンプトから一行ずつ実行せずにまとめて実行
4.一気に複数のコンテナを起動する
1.関係
・起動したいimageを探す
docker search イメージ
・ダウンロードしたimageの一覧取得
docker image ls
・ダウンローとしたimageの詳細
docker image inspect イメージ名
・imageの削除
docker image rm イメージ名
2.コマンド実行
-何か実行
docker container run イメージ名前 コマンド名
-操作可能にする: -itオプション
docker container run -it イメージ名 コマンド名
-コンソールを開放した形で実行 -dオプション
-終了と同時に削除 -rmメソッド
起動中のコンテナでコマンド実行 exec メソッド
その他メモ
【dockerエンジン構造】
dockerデーモン→containerd→containerd-shim/runc
・runc:コンテナを作成して起動
--libcontainer:コンテナを作成
-namespace:ホストからコンテナを独立させる
-cgroup:コンテナのホストリソースの使用を規定
・containerd-shim:作成したコンテナの管理
【docker ネットワーク】
libnetwork
・docker engineにより制御されている、いろいろな機能を実現するための基盤みたいなイメージ?
---サービスディスカバリー機能
名前解決関連機能
---ロードバランサー機能
アクセスをコンテナに分散させる
プラグイン:ネットワークのドライバー
【ストーレージ】
overlayfs:フェイル形式の差分からファイルシステムを作る
【docker file】
・概要
イメージを作成するための手順書
コンテナを作るためのコマンドをいちいち手でterminalに打っていたらミスの原因になるから作成手順をまとめてファイル化したもの
・イメージの作成
From:使用するイメージの宣言
Label:イメージに追加する情報
Run:実行するコマンド
Copy:ファイルのコピー Copy ホスト相対パス コンテナディレクトリ
ENV:環境変数のデフォルト値
CMD:コンテナが起動されたときに発行されるコマンド
・docker image build -t 作成するイメージ名 dockerfileのパス
・docker image build ./ -t hogehoge
注1)dockerfileは拡張子をつけてはいけない
注2)dockerfileが存在するディレクトリに移動してコマンドを実行する