docker images
列出镜像列表。
1
| docker images [OPTIONS] [REPOSITORY[:TAG]]
|
--all
-a
列出所有镜像(默认会隐藏中间层镜像);—-no-trunc
显示完整的信息,如完整的 ID;--quiet
-q
只列出镜像 ID。
另外,还可以只展示指定名称和 TAG 的镜像:
1
2
3
4
| $ docker images java:8
REPOSITORY TAG IMAGE ID CREATED SIZE
java 8 308e519aac60 6 days ago 824.5 MB
|
docker rmi
删除一个或多个镜像。
1
| docker rmi [OPTIONS] IMAGE [IMAGE...]
|
--force
-f
强制删除镜像。--no-prune
不删除没有标签的父镜像。
当多个不同名称的镜像拥有相同的 ID 时,不能通过 ID 删除多个镜像,需要使用 -f
参数。
1
2
3
4
5
6
7
8
9
10
11
| $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
$ docker rmi fd484f19954f
Error: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories, use -f to force
2013/12/11 05:47:16 Error: failed to remove one or more images
|
删除所有镜像
1
| docker rmi $(docker images -a -q)
|
docker inspect
展示镜像的底层信息。
1
| docker inspect [OPTIONS] NAME|ID [NAME|ID...]
|
docker search
搜索 Docker Hub 上的镜像
1
| docker search [OPTIONS] TERM
|
—-limit
最大搜索结果数量,默认值为 25。
返回的结果中,会显示出镜像 star 的数量、是否官方镜像和是否自动构建。
docker pull
从仓库拉取镜像或者 repository。如果不传 TAG 名称,默认 TAG 为 latest
。
1
| docker pull [OPTIONS] NAME[:TAG|@DIGEST]
|
--all
-a
下载 repository 中所有 TAG 的镜像。
该步骤不是必须的,如果本地镜像不存在,docker run
在执行时会自动从 Docker Hub 拉取镜像。
从自定义仓库(比如镜像站仓库)拉取镜像,例如:
1
| docker pull myregistry:5000/testing/test-image
|
表示从 myregistry
的 5000
端口拉取 testing/test-image
镜像。
docker push
向仓库推送镜像或 repository
1
| docker push [OPTIONS] NAME[:TAG]
|
如果向 Docker Hub 推送,需要拥有 Docker Hub 账户。
向自定义仓库推送:
1
| docker push myregistry:5000/testing/test-image
|
docker tag
从源镜像创建新镜像
1
| docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
|
源镜像可以是名称
1
| docker tag httpd fedora/httpd:version1.0
|
名称 + TAG
1
| docker tag httpd:test fedora/httpd:version1.0.test
|
或者 ID
1
| docker tag 0e5574283393 fedora/httpd:version1.0
|
如果目标镜像要推送到自定义仓库,需要指定自定义仓库地址和端口。
1
| docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0
|