docker images 列出本地的镜像
各个选项说明
同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像。
如果不指定一个镜像的版本标签,例如我只使用hello-world,dokcer将默认使用 hello-world:latest镜像。
再例如我制定了版本 hello-world:1.5.0 ,docker将使用hello-world:1.5.0镜像。
OPTION参数
—name=”容器别称”:为容器指定一个新的别名
-d:后台运行容器,并返回容器ID,即 启动守护式容器;
-i:交互式启动运行容器,通常和-t组合使用;
-t:为容器重新分配一个伪输入终端,通常和-i组合使用;
-P(大写):随机一个端口映射;
-p(小写):指定端口映射,有下面四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
OPTION 参数详解
-a 列出本地所有镜像
-q 只显示镜像ID
—digests 显示镜像的摘要信息
—no-trunc 显示完整的镜像信息
docker search 镜像名称 从docker-hub 搜索某个镜像
查询 点赞数 500以上的 redis镜像
docker search -s 500 redis
docker pull 镜像名称:版本(不指定默认为latest) 拉取/下载镜像
docker pull tomcat
单个删除 docker rmi 镜像ID/镜像名:版本(不指定版本也是默认删除latest) 删除本地镜像
docker引擎:不能删除hello-world,因为后台正在运行这个镜像
解决方法:docker rmi -f hello-world 强制删除
多个删除 docker rmi -f 镜像名1:版本 镜像名2:版本
删除全部 docker rmi if $(docker images -qa)
commit提交
docker commit 提交容器副本使之成为一个新的镜像
docker commit -m =”提交的描述信息” -a=”作者” 容器ID 要创建的目标镜像名称:[标签名]
案例演示:
1、从Hub上面下载tomcat镜像到本地并且成功运行
1-1:docker images run -it -p 1570:8080 tomcat (第一个8080是宿主机的8080端口,第二个是镜像的8080端口)
这个时候如果访问1570端口报404
我们进入tomcat目录下,会发现webapps是空的,全部跑到webapps.dist里面去了
就需要做下面操作
然后再次刷新即可
这个时候我们是可以点击Docmentation的,
2、删除镜像生产tomcat容器的文档(doc)
这时候就是404了
3、这个时候tomcat运行的事例是一个没有文档(doc)的容器,commit
docker commit -a=”AlanWu” -m=”remove tomcat docs test” a3e20263d906 alan/tomcatnodocs:1.0
4、启动新镜像对比
4-1)先启动未删除doc的镜像
4-2)再启动已删除doc的镜像(要指定版本哦,因为commit的是1.0版本,而并非latest)
4-3)查看他们俩的端口映射
4-4)访问对比
4-4-1)未删除docs的访问界面
4-4-2)已删除docs的访问界面
-d 守护式进程运行