查找docker镜像
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 mysql 的镜像。我们可以通过 docker search 命令搜索 mysql 来寻找适合我们的镜像。
docker search mysql
各字段说明如下:
- NAME: 镜像仓库源的名称
- DESCRIPTION: 镜像的描述
- STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
- OFFICIAL:表示这个镜像是否是官方提供的,字段如果是OK,可以信任。
- AUTOMATED:表示这个镜像是否是基于公开的脚本制作的,字段如果是OK,可以信任
注意:如果OFFICIAL和AUTOMATED都不为OK,那使用的时候需要额外小心了,这类镜像中可能包含恶意软件,不过对于个人非敏感数据还是可以使用的。
下载docker镜像
当找到合适的镜像后,可以通过:
docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]
来进行下载,方括号中的是可选项:
docker pull mysql
查看本地docker镜像
使用命令
docker images
可以列出本地主机上已有镜像的信息
各字段说明如下:
- REPOSITORY:镜像仓库源的名称
- TAG:镜像的标签信息,比如latest表示不同的版本信息。标签只是标记,并不能标识镜像内容
- IMAGE ID:镜像的ID(唯一标识镜像),如果两个镜像ID相同,说明他们实际指向同一个镜像,只是具有不同标签名
- CREATED:创建时间 说明镜像最后的更新时间
- SIZE:镜像大小
查看docker镜像详细信息
使用命令
docker inspect IMAGE_ID
可以查看镜像详细信息
删除docker镜像
为了节约磁盘空间,有时候需要删除不需要的docker镜像文件,命令如下:
docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]
注意: 当该镜像创建的容器存在时,镜像文件默认是无法被删除的
若想强制删除,使用-f 参数
当该镜像创建的容器处于running状态时,即使使用-f参数也无法删除
需要使用
docker stop 容器ID
停止容器才能再删除。
docker镜像的导入和导出
镜像的导出命令如下:
docker save -o 导出的镜像包名称 镜像仓库名称
镜像的导入命令如下:
docker load -i 镜像包名称
上传docker镜像
用户user上传本地的test:latest镜像,可以先添加新的标签user/test:latest 然后用docker [image] push 命令上传镜像
docker tag test:latest user/test:latest
docker push user/test:latest