文章目录
在下方的命令中 如果tag省略那么 tag默认为latest
1. 查看镜像
1.1. 列出本地镜像
可以使用images
列出本地镜像
]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu 14.04 3b853789146f 3 weeks ago 222.8 MB
docker.io/hello-world latest 05a3bd381fc2 7 months ago 1.84 kB
- REPOSITORY : 来自于哪个仓库
- TAG : 标签 标注不同的版本信息,不能标识镜像内容
- IMAGE ID : 镜像的ID ID相同代表是一个镜像
- CRTEATED : 创建时间
- SIZE : 镜像大小
命令可选参数
参数 | 参数全称 | 默认值 | 说明 |
---|---|---|---|
-a | –all | false | 列出所有镜像(包括临时文件) |
-f | –filter | 过滤镜像 | |
–digests | false | 显示数字摘要 | |
–format | 结果显示格式 | ||
–no-trunc | true | 不截断过长的输出 | |
-q | –quiet | false | 仅输出id信息 |
1.2. 查看镜像详细参数
docker inspect Name[:Tag]
可以使用inspect
列出指定镜像的详细参数,包括制作者、适应架构、各层的信息等。返回值是一个json
可以使用 -f参数来查询指定属性 参数应该为{{.属性.子属性}}
docker inspect hello-world
1.3. 查看镜像历史
docker history Name[:Tag]
2. 搜索镜像
可以用search
命令 根据镜像名称搜索仓库中的镜像,找到合适的镜像之后就可以下载了
docker search imageName
3. 下载镜像
可以使用pull
命令拉取仓库中的镜像到本地
$ sudo docker pull [仓库/]Name[:Tag]
TAG可以省略,如果省略默认或取最新版本的镜像
仓库也可以省略,默认从docker官方仓库下载
docker pull ubuntu
相当于
docker pull registry.hub.docker.com/ubuntu:latest
4. 标记镜像
docker tag Name[:Tag] AlisaName[:AlisaTag]
使用该命令可以给本地的镜像增加别名和别名Tag,方便标记
增加完别名后,使用images
命令就会列出相同id的多个镜像,他们实际指向同一个镜像文件
tag不指定时使用当前tag
5. 删除镜像
5.1. 使用标签删除
docker rmi Name[:Tag]
如果一个镜像有多个标签的话,那么删除其中一个标签不会删除镜像
当要删除的标签是该镜像的唯一一个标签时镜像也会被删除
如果有容器正在使用该镜像 那么无法删除
5.2. 使用ID删除
docker rmi ImageId
ImageId可以是imageId的前几位,只要能保证唯一即可,执行后会删除该镜像及镜像相关的所有标签
如果有容器正在使用该镜像 那么无法删除
6. 创建镜像
创建容器的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建
6.1. 基于容器创建
当我们基于一个景象创建一个容器之后,就会对容器进行修改,比如部署我们自己的系统,修改某些配置等,处理完成之后我们就可以基于这个已经被修改的容器生成一个镜像 该镜像包含了你对容器所做的所有修改。
docker commit [Options] 容器id/容器名称 [Name[:Tag]]
6.2. 本地模板导入
6.3. Dockerfile创建
7. 存出和载入镜像
如果我们有个镜像,可能需要在一台没有网络的服务器使用怎么办,那么我们可以把本地制作好的镜像导出成文件 然后再到服务器里载入使用。
7.1. 镜像存出
docker save -o 保存路径 Name[:Tag]
7.2. 镜像载入
docker load --input FilePath
Or:
docker load < FilePath
8. 上传镜像
可以将自己制作的镜像上传到官方资源库,但是需要登陆
docker push Name[:Tag] | [RemoteHost[:RemotePort]/]Name[:Tag]