dockerメモ
イメージとは・・・
コンテナに必要なソフトウェア、環境変数、設定などの情報が入ったコンテナの型となるもの
イメージは、dockerHubからダウンロードすることもあればDockerfileなど自分用にカスタマイズしたイメージを使うこともある。
コンテナとは・・・
イメージから作るもの。
コンテナにはステータス(created、up、exited)があり、作成直後はcreatedになり、起動状態の場合はup、起動してない場合はexitedとなる。
up<---->exitedの関係なのでいつでも起動と終了をすることが可能。
さらには不要なコンテナは破棄することも可能。
フォアグラウンドモード・・・
画面に表示されて起動している状態
デタッチドモード・・・
バックグラウンドで起動している状態
Dockerfileとは・・・
dockerのイメージを作る設計書にあたるもの
.dockerignoreファイルとは
ビルドコンテキストから除外することでCOPYコマンド時からもコピーの対象外となる
dockerの基本操作
1.初めてのコマンド
※イメージがない場合はイメージをダウンロードしてコンテナを起動する
docker container run hello-world
2.イメージをダウンロード
docker image pull {イメージ名}
3.イメージを一覧表示
docker image ls
4.イメージを削除
docker image rm {イメージ名}
5.イメージからコンテナを作成し起動するコマンド
docker container run {イメージ名}
例)
docker container run -it ubuntu:20:04
※オプション i: 標準入力を許可
※オプション t: コマンドの見た目をきれいにする
6.全てのコンテナ(実行中および停止中)を一覧表示
docker container ls -a
7.起動中のコンテナを停止
docker container stop {コンテナ名}
8.コンテナを再起動
docker container restart {コンテナ名}
9.ログを確認
docker container logs {コンテナ名}
10.コンテナを破棄(※停止しているコンテナのみコマンドが使える)
docker container rm {コンテナ名}
11.upしているコンテナを削除(強制削除)
docker container rm -f {コンテナ名}
12.イメージの詳細を表示
docker image inspect {イメージ名}
13.コンテナのデフォルトコマンドを任意のコマンドで上書き実行
docker container run -it ubuntu:20.04 {コマンド名}
例)
docker container run -it ubuntu:20.04 pwd
14.コンテナ名に好きな名前をつけて起動
docker container run --name {好きなコンテナ名} -it ubuntu:20.04
15.up状態のコンテナに任意のコマンドを実行させる
docker container exec {コンテナ名} {コマンド名}
16.停止済みのコンテナを一括で削除する(※起動しているコンテナは削除されない)
docker container prune
17.コンテナに対してコマンドを実行して直ちにコンテナを破棄したい場合
※コンテナとして残らないので便利
docker container run --rm {イメージ名} ls
例)
docker container run --rm ubuntu:20.04 ls
18.デタッチドモードで起動(オプションでdをつける)
※bashの場合はデタッチドモードを使うことはほぼない
利用する場面はnginxなど常駐させる必要がある用な場合デタッチドモードを利用する
docker container run --itd {イメージ名}
例)
docker container run -itd ubuntu
19.再度フォアグラウンドモードに戻したい場合
docker container attach {コンテナID}
20.dockerfileからイメージを作成
docker image build -t {コンテナ名:タグ} {dockerfileのディレクトリパス}
例) -tオプション以降にリポジトリ名:TAGを指定することが可能
docker image build -t my-image:v1 .