docker常用命令

1.帮助命令

docker version
docker info
docker --help 显示docker的所有命令

2.镜像命令

docker images
列出本地主机上的镜像
各个选项说明:
repository:表示镜像的仓库源
tag:镜像的标签
image id:镜像id
created:镜像创建时间
size:镜像大小
同一仓库源可以有多个TAG,代表这个仓库源的不同版本,我们使用repository:tag来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用ubuntu,docker将默认使用Ubuntu:latest镜像。

options说明:
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像id
–digests:显示镜像的摘要信息
–no-trunc:显示完整的镜像信息

docker images -qa 可以显示所有id

docker search 某个xxx镜像名字
网站–https://hub.docker.com
命令:
docker search [options] 镜像名字
options说明:–no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
–automated:只列出automated build类型的镜像

docker search -s 30 --no-trunc tomcat

docker pull 某个xxx奖项名字
作用:下载镜像
docker pull 镜像名字[:tag]
docker pull tomcat 等价于 docker pull tomcat:latest

docker rmi 某个xxx镜像名字ID
作用:删除镜像
删除单个:docker rmi -f 镜像id (如果不带版本号,则默认删除最新版本的镜像)
删除多个:docker rmi -f 镜像名1:tag 镜像名2:tag
删除全部:docker rmi -f $(docker images -qa)
-f 表示force 强制删除

docker search -s 30 tomcat
只显示点赞数大于30的tomcat镜像

容器命令
有镜像才能创建容器,这是根本前提
新建并启动容器
docker run [options] image [command] [arg…]
options说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字“:为容器指定一个名称;
-d:后台运行容器,并返回容器id,也即启动守护式容器;
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-P:随机端口映射;
-p:指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
列出当前所有正在运行的容器
docker ps [options]
options 说明(常用):
-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
–no-trunc:不截断输出
退出容器
两种退出方式:
exit 容器停止退出
ctrl+P+Q 容器不停止退出
启动容器
docker start容器id或者容器名
重启容器
docker restart容器名
停止容器
docker stop 容器id或者容器名
强制停止容器
docker kill容器id或者容器名
删除已经停止的容器
docker rm容器id 一次性删除多个容器
docker rm和docker rmi区别
docker rm表示删除容器
docker rmi表示删除镜像(i表示images)
一次性删除多个容器
docker rm -f$(docker ps -a -q)
docker ps -a -q | xargs docker rm
linux命令,上一个操作的结果集作为下一个命令的参数

#使用镜像centos:latest以后台模式启动一个容器
docker run -d centos

问题:然后docker ps -a进行查看,会发现容器已经退出
很重要的要说明的一点:docker容器后台运行,就必需有一个前台进程。
容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就会自动退出的。

这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如service nginx start
但是,这样做,nginx后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀因为他觉得他没事可做了。
所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行。

查看容器日志
docker logs -f -t --tail 容器id
参数说明:
-t 是加入时间戳
-f跟随最新的日志打印
–tail数字显示最后多少条

docker run -d centos /bin/sh -c “while true;do echo hello;sleep 2;done”

查看容器内运行的进程(可以把容器看成简易版的linux)
docker top 容器id

查看容器内部细节
docker inspect 容器id

进入正在运行的容器并以命令行交互
docker exec -it 容器id bash shell
重新进入docker attach 容器id
上述两个区别
attach 直接进入容器启动命令的终端,不会启动新的进程
exec 是在容器中打开新的终端,并且可以启动新的进程,直接将命令发送到容器内部执行并直接返回输出结果,不需要先进入容器内部,再执行指令。
docker exec -it 6d6155b5625b echo hello

docker exec -it 容器id /bin/bash
等同于
docker attach 容器id

attach命令进入容器后,exit退出容器会导致容器停止。exec命令进入容器后,exit退出容器,不会导致容器停止。

从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径

docker cp 6d6155b5625b:/usr/late.txt /usr/newhello.txt(注意那个冒号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值