Docker是一种容器虚拟化的实现,能够把开发的程序自动部署到容器的开源引擎。tvcBlKODCBABIkAEUobA/wO25hTre7Xx4QAAAABJRU5ErkJggg=容器是直接运行在操作系统上的,因此容器虚拟化也被称为“操作系统级虚拟化”。 容器简单说就是镜像的一个运行实例,所不同的是,他带有额外的可写文件层,
镜像是构建Docker的基础,用户通过镜像来运行自己的容器。Docker的镜像保存在Registry中,分为公有和私有两种(此Maven的私服和公共库概念相似),公共的Registry保存在Docker Hub上,可以在Docker Hub注册账号用以分享和保存自己的镜像,也可以搭建私服在局域网中保存和使用自己的境像,下面是操作镜像的相关命令详解
获取镜像[docker pull [host:port]/name:tag],pull命令可以从指定的服务器仓库上下载镜像,如果不指定服务器,则默认从registry.hub.docker.com公共仓库下载镜像,如果不指定tag,则会默认下载tag为latest的镜像文件。
docker pull ubuntu : 从registry.hub.docker.com公共仓库下载镜像ubuntu,其tag为latestdocker pull dl.dockerpool.com:5000/ubuntu:14.04 从 dl.dockerpool.com:5000仓库下载tag为14.04的ubuntu的镜像
列出镜像信息[docker images]![]()
获取镜像的详细信息(docker inspect )![]()
也可以通过docker inspect -f "{{.filed}}"获取镜像的某一项信息
搜索镜像[docker search name] ,有下列可选选项
- --filter:设置过滤器,如只展示星级为3的镜像:docker search mysql --filter=stars=3
- --no-trunc:不截断输出信息
- --no-index:不截断输出信息
删除镜像[docker rmi (name:latest|ID)]:根据镜像名或ID删除镜像,注意在删除镜像前必须要关闭所有由该镜像创建的容器
如:docker rmi dl.dockerpool.com:5000/ubuntu
创建镜像
- 基于已有镜像的容器创建,该方法主要使用[docker commit 容器ID],其相关选项信息如下
-a, --author="" 作者信息
-p,--pause=true 提交时暂停容器运行
如下所示:docker commit -a 'huxin' -m 'create a new image' test:latest
- 基于本地模板,推荐使用OPENVZ提供的模板来创建[cat template.tar | docker import - name:latest],如下所示
镜像导入与导出[docker save] [docker load]
导出镜像: docker save -o slackware-13.37.tar slackware:13.37
导入镜像
docker load --input slackware_13.37.tar 或者 docker load < slackware_13.37.tar