docker常用命令

有关docker的命令

关于镜像

命令行中查找镜像:

docker search <NAME>	#从docker hub中查找关键字中包含NAME的镜像


示例:
docker search Ubuntu	#从官方镜像中查找Ubuntu的镜像
docker search Ubuntu --filter "is-official=true"	#只显示官方镜像
docker search Ubuntu --filter "is-automated=true"	#只显示自动创建的仓库
docker search Ubuntu --limit=n	#只显示N行的内容,N最大为100

从云端仓库拉取镜像:

docker image pull <repository>:<tag>
docker pull <repository>:<tag>	#等同于上
docker pull -a <repository>:<tag>	#拉取包含全部标签的镜像
docker pull name@sha256:c0537...dc96	#根据sha256值来拉取镜像
示例:
docker pull ubuntu:16.04	#拉取16.04版本的镜像
docker pull ubuntu:latest	#一般情况下,latest为最新版本的镜像


image相关命令:

docker images	#检查本地仓库是否含有镜像
docker image ls	#等同于上命令

docker image ls -q	#只返回了系统中本地拉取的全部镜像的ID列表。

docker image ls --filter dangling=true	#返回悬虚镜像,即没有标签的镜像
docker image ls --filter=reference="*:latest"	#仅返回标签为latest的镜像
docker image ls --format "{{.Size}}"	#只返回Docker主机上镜像的大小属性。
docker image ls --format "{{.Repository}}: {{.Tag}}: {{.Size}}"	#返回全部镜像,但是只显示仓库、标签和大小信息。
docker image ls --digests	#在本地查看镜像摘要,可单独查看,如:
docker image ls --digests jumpserver/jms_all	#在本地查看jumpserver/jms_all的镜像摘要

docker image inspect ubuntu:16.04	#查看Ubuntu:16.04的分层方式

docker image rm ubuntu:latest	#删除Ubuntu的最新镜像
docker rmi ubuntu:latest	#等同于上
docker image rm 02674b9cb179	#通过镜像ID删除镜像

docker支持的过滤器:

dangling	#可以指定true或者false,仅返回悬虚镜像(true),或者非悬虚镜像(false)。
before	#需要镜像名称或者ID作为参数,返回在之前被创建的全部镜像。
since	#与before类似,不过返回的是指定镜像之后创建的全部镜像。
label	#根据标注(label)的名称或者值,对镜像进行过滤。docker image ls命令输出中不显示标注内容。

如果需要更复杂的过滤,可以使用OS或者Shell自带的工具,比如Grep或者AWK 。

docker镜像的相关操作:

docker history	#显示了镜像的构建历史记录

关于容器

容器的一般命令

docker run <image>:<app>	#等同于下
docker container run <options> <image>:<app>	#启动容器,并指定了启动所需的镜像以及要运行的应用。
docker container run -it ubuntu /bin/bash	#会启动某个Ubuntu Linux容器,并运行Bash Shell作为其应用(使容器具有交互性并与终端连接)

docker container run -it ubuntu /bin/bash sleep 10	#链接到容器shell 10秒,然后退出
docker container run --name percy -it ubuntu:latest /bin/bash	#这就是新建的容器,名称为“percy”,意指持久化(persistent)。
docker container run -d --name webserver -p 80:8080  liu/bai	
#-d	#后台模式,告知容器在后台运行
#-p	#将主机端口映射到docker容器内,其中,主机端口:容器端口
#--nameABC	#为容器命名为ABC

docker container exec -it 3027eb644874 bash	#将终端连接到docker


docker container stop <container>	#停止该容器
docker container start <container>	#启动该容器

docker container rm <container>	#删除该容器
docker container rm <container> -f	#销毁运行中的容器时,不会发出任何告警。
docker ps	#等同于下
docker container ls	#查看正在运行的容器
docker container ls -a	#显示出全部的容器,包括处于停止状态的。

容器的重启

使用参数:
--restart 

参数的策略:
always

特性:当daemon重启的时候,停止的容器也会被重启。

unless-stopped

always与unless-stopped的区别:
那些指定了–restart unless-stopped并处于Stopped (Exited)状态的容器,不会在Docker daemon重启的时候被重启。

on-failed

在退出容器并且返回值不是0的时候,重启容器。就算容器处于stopped状态,在Docker daemon重启的时候,容器也会被重启。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值