Docker 镜像命令

Docker 镜像命令

docker pull

docker pull 是一个 Docker 命令,用于从镜像仓库中拉取或者更新指定镜像。

如果没有提供标签,Docker Engine 默认使用:latest标签。

你可以手动指定要拉取的镜像的仓库位置,例如 Docker Hub 或者本地的仓库。

命令使用

假设你想要从 Docker Hub 拉取一个 ubuntu 镜像,你可以使用以下命令:

docker pull ubuntu

这个命令会拉取 ubuntu 镜像的最新版本,因为没有指定标签。如果你想要拉取 ubuntu 镜像的特定版本,比如 18.04,你可以使用以下命令:

docker pull ubuntu:18.04

如果你想要拉取 ubuntu 镜像的所有版本,你可以使用 -a 或者 --all-tags 选项:

docker pull -a ubuntu

如果你想要从本地的仓库或者其他的仓库拉取镜像,你可以在镜像名前面加上仓库地址。例如:

docker pull localhost:5000/ubuntu

docker images

使用 docker images 命令来查看本地主机上已有的镜像的基本信息。

docker images [OPTIONS] [REPOSITORY[:TAG]]

命令使用

这个命令会显示镜像的仓库名,标签,ID,大小等信息。例如:

docker images

如果你想要查看某个特定的镜像,你可以在命令后面加上仓库名或者ID。例如:

docker images ubuntu
docker images 7e0aa2d69a15

查看已有镜像

root@ran:~# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         latest    ad405c51acf6   13 days ago     544MB
nginx         latest    6b3e1257976b   3 months ago    135MB
hello-world   latest    46331d942d63   11 months ago   9.14kB
root@ran:~#

docker rmi

删除一个或多个镜像

命令使用

docker rmi [OPTIONS] IMAGE [IMAGE...]

docker rmi 命令是用来删除本地一个或多个 Docker 镜像的。

如果你想删除不再使用的 Docker 对象,你可以用 docker prune 命令。

想要删除指定的镜像 ID 或者标签

用 docker rmi 命令后面跟上你想要删除的镜像 ID 或者标签。

例如,如果你想要删除名为 ubuntu 的镜像,你可以输入

docker rmi ubuntu

如果你想要一次删除多个镜像,你可以用空格隔开它们。

例如,如果你想要删除名为 ubuntu 和 alpine 的镜像,你可以输入

docker rmi ubuntu alpine

请注意,如果一个镜像有多个标签,你需要先删除所有的标签才能删除这个镜像 。

一些例子

  • docker rmi 7a86f8ffcb25 删除指定的镜像 ID。
  • docker rmi ubuntu:18.04 删除指定的镜像标签。
  • docker rmi $(docker images -q) 删除所有的镜像。
  • docker rmi -f 7a86f8ffcb25 强制删除正在运行的容器的镜像。

docker build

从 Dockerfile 构建一个镜像

命令使用

使用 docker build 命令可以根据 Dockerfile 文件来构建镜像。docker build 命令的基本语法如下:

docker build [OPTIONS] PATH | URL | -

其中,

[OPTIONS] 是一些可选的参数,如 -t 指定镜像的名字,-f 显示指定构建镜像的 Dockerfile 文件等;

PATH | URL | - 是指定 Dockerfile 文件所在的路径或者网址,如果是 - 则表示从标准输入读取 Dockerfile 文件。

例如,如果你有一个名为 app.jar 的 SpringBoot 项目,并且在当前目录下有一个名为 Dockerfile 的文件,你可以使用以下命令来构建一个名为 app:1.0 的镜像:

docker build -t app:1.0 .

docker tag

创建一个指向 SOURCE_IMAGE 的 TARGET_IMAGE 标签

命令使用

docker tag 命令用于给镜像打标签,可以将其归入某一仓库。

标签可以帮助你区分不同的镜像版本。

例如,你可以给一个 centos 镜像打上 latest 和 7.9.2009 的标签,表示它是最新的和特定的版本。

使用 docker tag 命令的语法如下:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

其中,SOURCE_IMAGE 和 TARGET_IMAGE 可以是本地或远程的镜像名,TAG 是可选的参数,表示镜像的标签名。

如果你想把一个镜像推送到私有仓库而不是中央 Docker 仓库,你必须给它打上仓库的主机名和端口(如果需要)。例如:

docker tag httpd:test fedora/httpd:version1.0.test

这样就把本地的 httpd:test 镜像打上了 fedora/httpd:version1.0.test 的标签,然后你就可以用 docker push 命令把它推送到私有仓库了。

docker save

将一个或多个镜像保存到 tar 存档(默认情况下流式传输到 STDOUT)

docker save [OPTIONS] IMAGE [IMAGE...]

示例

docker save -o mysql_5.7.44.tar mysql:5.7.44

docker load

从 tar 存档文件或 STDIN 加载镜像

$ docker load [OPTIONS]

示例

docker load -i xxx.tar
docker load -i mysql_5.7.44.tar

docker login

登录

docker push

修改标签名字

推送到私有仓库

docker search 命令是用来在 Docker Hub 中搜索可用的镜像。

命令不够直观,建议直接访问 https://hub.docker.com/ 搜索到相关镜像版本信息。

posted @ 2025-06-14 23:52  ioufev  阅读(65)  评论(0)    收藏  举报