目录
镜像是 Docker 的三大核心概念之一。Docker 运行容器前需要本地存在对应的镜像,如果本地没有对应的镜像,Docker 会尝试从默认的镜像仓库下载。当然用户也可以通过配置,使用自定义的镜像仓库。本文将介绍镜像的具体操作,包括使用 pull 命令从 Docker Hub 的镜像仓库中拉取(下载)公共镜像;查看本地已有的镜像信息;使用 search 命令搜索镜像;删除镜像标签和镜像文件;创建用户自定义镜像并上传到 Docker Hub 镜像仓库。docker image 子命令中,虽然不带 image 的格式依然被兼容,但带上 image 后会让命令更容易理解,也会有更好的自动补全效果。
docker image ls(或 docker images) 命令可以列出本地存储的镜像:
REPOSITORY:说明镜像来自哪个仓库,比如 ubuntu 或 registry.docker-cn.com/library/ubuntu。TAG:镜像的标签信息,比如 14.04 或 latest。IMAGE ID:标识镜像的 ID 号。CREATED:创建镜像的时间。SIZE:镜像大小。
docker image tag 命令为本地的镜像添加新的标签还可以方便我们的使用,比如为 ubuntu:14.04 镜像添加下面的标签:
docker image inspect 命令可以获取镜像的详细信息,比如查看 ubuntu:latest 镜像的信息:
docker search 命令以命令行的方式进行搜索,比如搜索 mysql 镜像:
docker image rm 命令进行删除,以释放镜像占用的磁盘空间。我们可以为 docker image rm 命令传递镜像的标签或 ID,这两种方式略微有些区别,下面我们将分别介绍。
》一文中介绍过通过 docker build 命令利用 Dockerfile 文件创建镜像,所以这里只介绍如何通过 docker container commit 命令基于已有容器创建镜像。
docker image save 命令可以把镜像导出为本地文件,比如导出 ubuntu:latest 镜像为 ubuntu1604.tar:
docker image load 命令执行镜像的导入操作:
docker image push 命令把镜像上传到镜像仓库服务器,默认是上传到 Docker Hub 的镜像仓库,此时事先需要注册用户并进行登录。上传镜像的命令格式为: