1)pull命令:docker [image] pull NAME[:TAG]
NAME是镜像仓库名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息);
如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像;
例:docker pull ubuntu:18.04
当不同的镜像包括相同的层时,本地仅存储了层的一份内容,减少了存储空间;
2)docker pull ubuntu:18.04命令相当于docker pull registry.hub.docker.com/ ubuntu:18.04,即从默认的注册服务器Docker Hub Registry中的Ubuntu仓库来下载标记为18.04;
如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址
例:docker pull hub.c.163.com/public/ubuntu:18.04
3)pull子命令支持的选项
-a,--all-tags=true|false 是否获取仓库中的所有镜像,默认为否
--disable-content-trust 取消镜像的内容校验,默认为真
在启动配置中增加--registry-mirror=proxy_URL来指定镜像代理服务器地址
docker images或docker image ls
images子命令:
-a,--all=true|false:列出所有(包括临时文件)镜像文件,默认为否
--digests=true|false:列出镜像的数字摘要值,默认为否
-f,--filter=[]:过滤列出的镜像,如dangling=true只显示没有被使用的镜像;也可指定带有特定标注的镜像等
--format="TEMPLATE":控制输出格式,如.ID代表ID信息
--no-trunc=true|false:对输出结果中太长的部分是否进行截断,如镜像的ID信息。默认为是
-q,--quiet=true|false:仅输出ID信息,默认为否
docker tag命令为本地镜像任意添加新的标签
docker search命令可以搜索Docker Hub官方仓库中的镜像;
语法:docker search [option] keyword
选项:
-f ,--filter filter :过滤输出内容
--format string:格式化输出内容
--limit int:限制输出结果个数,默认为25个
--no-trunc:不截断输出结果
搜索带nginx关键字的镜像:
docker search --filter=is-official=true nginx
1)使用标签删除镜像
docker rmi或docker image rm
命令格式:
docker rmi IMAGE [IMAGE...] 其中IMAGE可以为标签或者ID
选项:
-f,-force:强制删除镜像,即使用有容器依赖它
-no-prune:不要清理未带标签的父镜像
当同一镜像有多个标签时,删除的是指定标签而已,不影响镜像文件
2)使用镜像ID来删除镜像
docker rmi后面跟上镜像的ID(也可以是能进行区分的部分ID串前缀)时,会先尝试删除所有指向改镜像的标签,然后删除该镜像本身文件;
当改镜像创建的容器存在时,镜像文件默认是无法被删除的,先删除容器
3)清理镜像
系统中可能会遗留一些临时镜像文件,以及一些没有被使用的镜像,可以使用
docker image prune命令来进行清理
选项:
-a,-all:删除所有无用镜像,不光是临时镜像
-filter filter:只清理符号给定过滤器的镜像
-f,-force:强制删除镜像,而不进行提示确认
1)基于已有容器创建
docker [container] commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
选项:
-a,--author="" 作者信息
-c,--change=[] 提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
-m,--message="" 提交消息
-p,--pause=true 提交时暂停容器运行
例:
docker run -it ubuntu /bin/bash #运行容器并创建test文件
docker commit -m "add test file" -a "newuser" 6f402f65703b test:0.1 #创建test:0.1镜像
2)基于本地模板文件导入
docker [image] import [OPTIONS] file|URL|-[REPOSITORY[:TAG]]
例如从网上下载了ubuntu-18.04的模板压缩包:
cat ubuntu-18.04.tar.gz | docker import - ubuntu:18.04
3)基于Dockerfile创建
最为常见的方式,Dockerfile是一个文本文件,利用给定的指令描述基于某个父镜像创建新镜像的过程
docker [image] build
后面文档介绍
导出镜像到本地文件
docker [image] save
参数:
-o,-output srting 导出镜像到指定的文件中
例:
docker save -o test_0.1.tar test:0.1
docker [image] push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]
默认上传到Docker Hub官方仓库(需要登录)
例:
user用户上传本地的test:0.1镜像,可以先添加新的标签user/test:0.1,然后上传
docker tag test:0.1 user/test:0.1
docker push user/test:0.1
转载于:https://www.cnblogs.com/longBlogs/p/10125794.html