Docker 的镜像管理命令用于处理 Docker 镜像的拉取、查看、删除、构建等操作。以下是详细的 Docker 镜像管理命令及其解释和用法:
docker pull
从 Docker 仓库(如 Docker Hub)下载镜像。docker pull [OPTIONS] NAME[:TAG|@DIGEST]
NAME
:镜像名称。TAG
:镜像标签(如latest
表示最新版本)。如果不指定标签,默认为latest
。@DIGEST
:使用镜像的哈希值下载特定的版本。
示例:
docker pull ubuntu:20.04
下载 Ubuntu 20.04 版本的镜像。
docker images
列出本地存储的 Docker 镜像。docker images [OPTIONS] [REPOSITORY[:TAG]]
REPOSITORY[:TAG]
:可以指定某个特定的镜像仓库和标签。-a
:显示所有镜像(包括中间层镜像)。-q
:只显示镜像的 ID。
示例:
docker images
显示本地存储的所有镜像。
docker rmi
删除本地的 Docker 镜像。docker rmi [OPTIONS] IMAGE [IMAGE...]
IMAGE
:可以是镜像的 ID、镜像的名称(NAME[:TAG]
),或者其 SHA256 值。-f
:强制删除镜像,即使镜像正在被使用或有依赖的容器。
示例:
docker rmi ubuntu:20.04
删除 Ubuntu 20.04 版本的镜像。
docker tag
给本地镜像打标签(相当于重命名) ,通常用来配合`docker push`将本地镜像推送到远程镜像仓库。docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
SOURCE_IMAGE[:TAG]
:现有镜像的名称和标签。TARGET_IMAGE[:TAG]
:要指定的新镜像名称和标签。
示例:
docker tag ubuntu:20.04 myrepo/ubuntu:custom
将 ubuntu:20.04
镜像打上 myrepo/ubuntu:custom
的标签。
docker push
将本地镜像推送到远程镜像仓库。docker push [OPTIONS] NAME[:TAG]
NAME[:TAG]
:推送的镜像名称和标签。
示例:
docker push myrepo/myapp:latest
将名为 myrepo/myapp:latest
的镜像推送到远程仓库。
docker build
根据 Dockerfile 构建新的 Docker 镜像。docker build [OPTIONS] PATH | URL | -
PATH
:包含 Dockerfile 的路径。URL
:从指定的 Git 仓库 URL 构建镜像。-f
:指定 Dockerfile 的路径和文件名(如果不是Dockerfile
)。-t
:为新创建的镜像指定名称和标签。--no-cache
:不使用缓存层,强制重新构建每一层。--rm
:成功构建后删除中间容器(默认启用)。
示例:
docker build -t myapp:latest .
使用当前目录中的 Dockerfile 构建一个名为 myapp
、标签为 latest
的镜像。
docker history
查看镜像的构建历史(显示镜像的每一层)。docker history [OPTIONS] IMAGE
IMAGE
:镜像的名称或 ID。-H
:友好格式显示文件大小(默认启用,可以通过--no-trunc
关闭)。--no-trunc
:不截断输出内容,显示完整信息。
示例:
docker history ubuntu:20.04
查看 ubuntu:20.04
镜像的构建历史。
docker save
将一个或多个镜像导出为一个 tar 文件。docker save [OPTIONS] IMAGE [IMAGE...]
IMAGE
:要导出的镜像名称或 ID。-o
:指定导出的文件名。
示例:
docker save -o ubuntu_20.04.tar ubuntu:20.04
将 ubuntu:20.04
镜像保存为 ubuntu_20.04.tar
文件。
docker load
从 tar 文件加载镜像。docker load [OPTIONS]
-i
:指定要加载的镜像文件。-q
:抑制加载时的输出信息。
示例:
docker load -i ubuntu_20.04.tar
从 ubuntu_20.04.tar
文件中加载镜像。
docker search
在 Docker Hub 上搜索镜像。docker search [OPTIONS] TERM
TERM
:搜索的关键字。--filter
:通过条件过滤结果(如--filter "is-official=true"
搜索官方镜像)。--limit
:限制返回的镜像数量(默认 25)。
示例:
docker search ubuntu
在 Docker Hub 上搜索与 ubuntu
相关的镜像。