文章目录
镜像是一个只读的 Docker 容器模板,包含启动容器所需要的所有文件系统结构和内容。简单来讲,镜像是一个特殊的文件系统,它提供了容器运行时所需的程序、软件库、资源、配置等静态数据。即镜像不包含任何动态数据,镜像内容在构建后不会被改变。
镜像操作
从图中可知,镜像的操作可分为:
-
拉取镜像,使用docker pull命令拉取远程仓库的镜像到本地
-
重命名镜像,使用docker tag命令“重命名”镜像
-
查看镜像,使用docker image ls或docker images命令查看本地已经存在的镜像
-
删除镜像,使用docker rmi命令删除无用镜像
-
构建镜像,构建镜像有两种方式。第一种方式是使用docker build命令基于 Dockerfile 构建镜像,也是我比较推荐的镜像构建方式;第二种方式是使用docker commit命令基于已经运行的容器提交为镜像。
1. 拉取镜像
Docker 镜像的拉取使用docker pull命令, 命令格式一般为 docker pull [Registry]/[Repository]/[Image]:[Tag]。
-
Registry 为注册服务器,Docker 默认会从 docker.io 拉取镜像,如果你有自己的镜像仓库,可以把 Registry 替换为自己的注册服务器。
-
Repository 为镜像仓库,通常把一组相关联的镜像归为一个镜像仓库,library为 Docker 默认的镜像仓库。
-
Image 为镜像名称。
-
Tag 为镜像的标签,如果你不指定拉取镜像的标签,默认为latest。
例如我现在要拉取一个redis的镜像,这里替换为网易的镜像仓库
docker pull hub.c.163.com/library/redis:4.0
4.0: Pulling from library/redis
3d59d0c51bb7: Pull complete
fa7bbc6b37ad: Pull complete
e945d1598847: Pull complete
9092a5d0a502: Pull complete
a088f4159516: Pull complete
4156899232a5: Pull complete
Digest: sha256:43b3d87808f5c038c89d12355718798b85c4408a5c0b9c345c355c8a67c3d40e
Status: Downloaded newer image for hub.c.163.com/library/redis:4.0
实际上执行docker pull hub.c.163.com/library/redis:4.0命令,都是先从本地搜索,如果没有则在远程仓库下载
2. 查看镜像
使用docker images 或 docker image ls 查看镜像
- 下面使用docker images 列出所有镜像:
[root@docker daemon] docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/cloudpri/kafka 2.11-1.1.1 cede66ae8787 10 months ago 486MB
hub.c.163.com/cloudpri/zookeeper 3.5.3 79d9360a25f6 2 years ago 639MB
hub.c.163.