一、Docker 镜像操作
前言:
Docker 运行容器前需要本地存在对应的镜像,如果不存在本地镜像,Docker 就会尝试从默认镜像仓库【https://hub.docker.com】下载,这是 Docker 官方维护的一个公共仓库,可以满足用户的绝大部分需求
当然了,用户也可以通过配置来使用自定义的镜像仓库
镜像工作流程
1, docker client客户端连接到了服务端(服务端是以一个守护进程的形式跑在操作系统里面的) restful api典型的c/s架构
2、由docker服务端的守护进程从docker hub上下载了镜像
3、服务端创建了一个新的容器,然后从拉去的这个镜像启动了一个容器,容器执行了脚本/可执行程序让我们可以查看/使用
4, docker服务端把这些信息流(传递)返回到客户端并展示出来, (展示在终端上)
'命令格式:'
docker search [对象]
'例:'
docker search nginx
docker search -f stars=1000 nginx
'#可以使用选项"-f"配合"stars=x"显示指定星级以上的镜像'
一般官方项目组维护的镜像使用单个单词,例如【nginx】作为镜像名称,我们称之为基础镜像或根镜像
像【mailu/nginx】这种命名方式的镜像,表示是由 Docker Hub 的用户【mailu】创建并维护的镜像,带有用户名为前缀
是否主动创建表示是否允许用户验证镜像的来源和内容
使用【docker search】命令只能查找镜像,无法获取镜像的标签,若需要查找 docker 的标签,需要从网页上访问镜像仓库【https://hub.docker.com】
②获取镜像–docker pull
搜索到了符合需求的镜像,我们可以使用【docker pull】命令从网络下载镜像到本地使用
'命令格式:'
docker pull [仓库名称][:标签]
'例:'
docker pull nginx
标签【tag】就是用来区分镜像版本的,可以看到没有指定标签,这里会默认下载仓库中最新版本的镜像,即选择【latest】标签
在整个下载的过程中,我们可以看出,整个镜像文件是由若干层【layer】组成,我们将其称之为【AUFS (联合文件系统)】,即联合文件系统,其实现了增量保存与更新的基础,在下载过程中会输出镜像的各层信息
镜像下载到本地后,我们就可以随时使用该镜像了
用户也可以选择从其他注册服务器仓库下载,需要在仓库名称前指定完整的仓库注册服务器地址
③查看镜像信息–docker images/inspect/tag
'命令格式:'
docker images [仓库名称][:标签]
'例:'
docker images