Document
Commands
pull
https://docs.docker.com/engine/reference/commandline/pull
rmi
rmi
ImageID か ImageName を指定して docker image を削除する。
docker rmi $ImageID( or $ImageName)
ex. docker rmi (-f) docker/whalesay
images の削除はタグ名を指定しない限りは latest
が削除される。
remove images all
https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes
docker images を削除してもコンテナで使用中だと conflict (使用中だよ!)エラーが発生する。
そのため docker ps -a で起動していないか確認し、まず docker stop CONTAINER_ID でコンテナを停止する。
その後 docker rm コンテナID でコテな削除
さらにその後に docker rmi する。
remove none images
tag
docker tag IMAGE_ID {{ REPO_NAME:TAG_NAME }}
none の imageに REPO_NAME と TAG_NAME をつけることができるので none があるときは暫定的な名前とつけることもある。
run
docker コンテナを実行する。これは pull -> create -> start の3コマンドがセットになったもの。
docker コンテナの shell でログインするときに使う
docker run -it {{ IMAGE }} /bin/bash
これが一番簡単。 IMAGE に入るのは mysql:5.7 など {tag}:{version} がイメージ名
ex. docker run -it ubuntu bash
ubuntu の最新のイメージを取得して bash
でログインすることができる。
exec
docker コンテナ状でプロセスを実行したいときに使う
例えば mysql のクエリを打ちたい時は以下
docker exec -it {{ container name }} mysql -u root -e "select * from hoge ....;"
※ {{ container name }} は docker ps で出力される NAMES の部分
ImageID, Image Name, ContainerID ContainerName はそれぞれ違う。docker においては Image をベースに作られるのがコンテナ。
inspect
docker inspect emahiro_whalesay
$ docker inspect emahiro_whalesay [ { "Id": "sha256:6b362a9f73eb8c33b48c95f4fcce1b6637fc25646728cf7fb0679b2da273c3f4", "RepoTags": [ "docker/whalesay:latest", "emahiro_whalesay:emahiro", "emahiro_whalesay:latest" ], "RepoDigests": [ "docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b" ], # 略 }
コンテナの設定情報(host名や環境変数、コンテナ実行時のコマンド情報など) が入ってくる。 その他 OS の情報やサイズ、ファイルシステムの情報も含まれる。
stop
コンテナを停止する。
- 起動中の全コンテナの停止:
docker stop $(docker ps -q)
- 起動中の全コンテナの削除:
docker rm $(docker ps -q -a)
- 前イメージの削除:
docker rmi $(docker images -q)
-q
optison は ContainerID や ImageID のみを表示する option.