ローカルにDL済みのimageを一覧表示
docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 3 months ago 13.3kB
docker/whalesay latest 6b362a9f73eb 4 years ago 247MB
上記はこんなイメージ↓
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
hello-world | latest | bf756fb1ae65 | 3 months ago | 13.3kB |
docker/whalesay | latest | 6b362a9f73eb | 4 years ago | 247MB |
REPOSITORY ...どのレポジトリからDLされたか。dockerhubで調べるとよい。
TAG ...レポジトリのどのタグをDLしたか。versionとか。新しく作成するときに任意に変えられる。
IMAGE ID ...イメージを識別するためのID
CREATED ...作成日時
SIZE ...サイズ
#新しく作るimageにタグ名を設定したい!
docker tag 元となるイメージ名 新しいイメージ名:新しいタグ名
$ docker tag hello-world new_hello:new
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 3 months ago 13.3kB
new_hello new bf756fb1ae65 3 months ago 13.3kB
docker/whalesay latest 6b362a9f73eb 4 years ago 247MB
new_helloを作ってもIMAGE IDが変わらないことに注目
そのimageの詳細情報を知りたい!
docker inspect image名
JSONみたいにキーバリュー型のリストで表示される
$ docker inspect new_hello:new
[
{
"Id": "sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b",
"RepoTags": [
"hello-world:latest",
"new:latest",
"new_hello:new"
],
"RepoDigests": [
"hello-world@sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76"
],
"Parent": "",
"Comment": "",
"Created": "2020-01-03T01:21:37.263809283Z",
"Container": "71237a2659e6419aee44fc0b51ffbd12859d1a50ba202e02c2586ed999def583",
"ContainerConfig": {
...
(以下略)
imageを消したい!
docker rmi image名
image名はIDでも消せる
タグ名を付かなければlatestが削除される
docker rmi -f image名
強制削除
docker rmi image名 image名 image名 ...
たくさん消せる
docker rmi $(docker images -aq)
ちなみに全消去
docker images -aq
$()の中身はIDの一覧表示
$ docker images -aq
bf756fb1ae65
bf756fb1ae65
bf756fb1ae65
6b362a9f73eb
6b362a9f73eb
6b362a9f73eb
だから全部消せる訳ですね。なるほど。
imageを取得する
docker pull image名
タグを指定しなければlatestがダウンロードされる。
latestは最新版というわけでなく、タグがないというだけ。
補足。
- imageの取得...docker pull
- containerの作成...docker create
- containerの起動...docker start
丸ごとひっくるめてdocker runとなっている
containerの一覧表示
docker ps -a
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ebc4117dad44 docker/whalesay "cowsay Hello!" 57 minutes ago Exited (0) 57 minutes ago zen_buck
3c6b87fa66ac hello-world "/hello" 15 hours ago Exited (0) 15 hours ago upbeat_nobel
containerの削除
docker rm container名
container IDでも大丈夫
複数削除
docker rm container名 container名 container名...
container名(もしくはcontainer ID)を並べるだけ
一括削除
docker rm $(docker ps -aq)
$(docker ps -aq)はcontainer IDの一括表示。
そのため一気に消せる。