Docker 命令 之 镜像管理
摘要
-
本文介绍 Docker 命令 中 镜像管理 相关命令
docker search
: 搜索镜像
-
推荐在dockerhub上搜索镜像,以获取更详细的镜像信息。
1 | $ docker search --help |
示例
1 | # 搜索名称中包含 nginx 的镜像 |
docker image
: 镜像管理
1 | $ docker image --help |
docker pull
: 拉取镜像
-
docker image pull
==docker pull
1 | # 命令格式,不加tag默认拉取 :latest |
如何获取镜像tag
- docker 命令中没有提供直接获取镜像tag的命令,如果不想到
dockerhub
上查看,可以通过如下方式获取:
1 | # 只显示tag名称,官方镜像替换 nginx,非官方镜像替换 libryary/nginx,page_size=5表示每页5条数据,page=1表示第一页(默认为1) |
docker images
: 列出镜像
-
docker image ls
==docker images
1 | # 列出所有镜像,不包括悬空镜像,(dangling images:没有 tag 的镜像,通常是构建中间产物,例如:<none>:<none> 形式。) |
docker inspect
: 查看镜像的详细信息
-
docker image inspect
==docker inspect
-
这里要注意,
docker inspect
如果基于名称查找会优先查找容器
1 | # 命令格式 |
docker image prune
: 删除未使用的镜像
1 | # 删除悬空镜像,(dangling images:没有 tag 的镜像,通常是构建中间产物,例如:<none>:<none> 形式。) |
docker rmi
: 删除镜像
-
docker image rm
==docker rmi
1 | # 命令格式 |
docker history
: 查看镜像的历史记录
-
docker image history
==docker history
1 | # 命令格式 |
docker tag
: 创建一个标签
-
docker image tag
==docker tag
1 | # 命令格式 |
docker save
: 将镜像保存为 tar 归档
-
docker image save
==docker save
1 | # 命令格式 |
docker load
: 从 tar 归档中加载镜像
-
docker image load
==docker load
1 | # 命令格式 |
docker import
: 从文件创建镜像
-
docker image import
==docker import
1 | # 命令格式 |
-
docker import
与docker load
的区别
命令 | 用途 | 格式 | 是否保留历史 |
---|---|---|---|
docker import |
导入文件系统,创建镜像 | 纯文件系统 tar 包 | ❌ 不保留历史、标签等元数据 |
docker load |
加载镜像(通常由 docker save 生成) |
Docker 镜像 tar(含元数据) | ✅ 保留 tag、层、历史等 |
-
示例: 从容器导出再导入
1 | # 启动一个容器 |
docker build
: 从指定目录或URL中的 Dockerfile 构建 Docker 镜像
-
docker image build
==docker build
1 | # 命令格式 |
-
docker build
中还有一些重要的参数,以及Dockerfile
文件该怎么编写,请参考Docker 命令 之 Dockerfile
docker push
: 推送本地镜像到远程仓库
-
docker image push
==docker push
-
这里介绍如何将镜像推送到
docker hub
远程仓库 -
需要先在docker hub网站上创建一个账号,比如我的用户名是
hanqunfeng
-
然后就可以使用下面的命令将本地镜像推送到远程仓库了
1 | # 查看本地镜像 |