docker命令

1、帮助命令
2、镜像命令
3、容器命令
1、帮助命令

查看docker的版本信息
docker version
查看docker信息,比version更全
docker info
查看docker的命令用法
docker --help

2、镜像命令

docker images

查看本机所有镜像
docker images
对应options
-a 列出本地所有的镜像,包含中间映像层
-q 只显示镜像id
--digests 显示镜像的摘要信息
--no-trunc 显示完整的镜像信息

在这里插入图片描述
docker search

罗列远程仓库(https://hub.docker.com)中所有对应的镜像,stars数越大越稳定
docker search 镜像名称   eg:docker search tomcat
对应options
--no-trunc 显示完整的镜像描述
-s num 列出stars(点赞数)大于等于num的镜像
--automated 只列出automated build类型的镜像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
docker pull

去远程仓库下载镜像
docker pull 镜像名称[:TAG]   可以指定对应的版本(TAG)下载
eg: docker pull tomcat  等价于  docker pull tomcat:laster 不指定tag则默认为最新版本laster

docker rmi

删除指定的镜像
docker rmi 镜像名/镜像ID[:TAG]  可以指定对应的版本(TAG)删除
对应options
-f 强制删除,如果不加的话,镜像在使用的时候不能删除
eg: docker rmi -f 镜像名/镜像ID  
备注:上面只能删除单个镜像,如果要删除多个镜像,只需要再接镜像名或ID, docker rmi -f 镜像1名/镜像1ID  镜像2名/镜像2ID ...
删除多个
eg: docker rmi -f $(docker images -qa)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、容器命令

docker run

运行images,创建一个容器
eg:
docker pull centos  拉一个centos镜像
docker images  找到imagesid
docker run -it 1e1148e4cc2c  以交互的方式运行对应的images

options:
--name  指定一个容器名称
-d  后台运行容器,并返回容器ID,即启动守护式容器
-i  以交互模式运行容器,通常与-t同时使用
-t  为容器重新分配一个伪输入中断,通常与-i同时使用
-P  随机端口映射
-p  指定端口映射,有以下四种格式
     ip:hostport:containerport
     ip::containerport
     hostport:containerport 常用
     containerport

docker ps

docker ps 查看当前正在运行的容器(例如Linux 的ps命令 ,查看当前运行的进程)

options:
-a  列出当前所有正在运行的容器+历史运行过的容器
-l  显示最近一个创建的容器
-n  显示最近n个创建的容器 eg:docker ps -n 3
-q  静默模式,只显示容器ID
--no-trunc  不截断输出(显示完整ID)

退出容器

有两种方式
--容器停止退出
exit
--容器不停止退出
ctrl+P+Q

启动容器

docker start  容器ID/容器名
启动容器后,会返回容器ID/容器名(必须是已经被创建,但是已经停止的容器)

在这里插入图片描述
重启容器

docker restart 容器ID/容器名
重启容器后,会返回容器ID/容器名

停止容器

docker stop 容器ID/容器名
停止容器后,会返回容器ID/容器名

强制停止容器

docker kill 容器ID/容器名
强制停止容器后,会返回容器ID/容器名
相当于直接拔电源,电脑一下子就关机了,不像stop温柔,等待所有东西关闭

删除容器

docker rm 容器ID  删除停止运行的容器并返回容器ID
但是无法删除正在运行的容器
options:
-f  强制删除正在运行的容器 eg:docker rm -f 容器ID

一次性删除所有的容器
eg: docker rm $(docker ps -l)

查看容器日志

创建例子
docker run -d imagesID  以后台进程的方式运行容器,由于什么都没干,docker默认的机制是将没做事的容器kill掉,所以此时使用docker ps 查看不到UP状态的对应容器
docker run -d 1e1148e4cc2c /bin/sh -c "while true;do echo hello cwq;sleep 2;done"
通过shell脚本,使得该容器每2秒打印一次日志,这样容器就不会被docker 杀死了
这时候我们可以通过docker logs来查看日志,如下:

docker logs 容器ID  查看对应容器打印出来的日志
options:
-t  日志打印时间戳
-f  动态打印最新的日志记录
--tail  动态打印最后的n行日志记录 
eg:docker logs -t -f --tail 3 0daa61c78ac9 每次打印最后3行日志记录

在这里插入图片描述
查看容器内运行的进程

docker top 容器ID

查看容器内部细节

docker inspect 容器ID

重新进入容器并以命令行交互

docker exec -it 容器ID 操作命令
eg:docker exec -t 1e07933a5dcb ls //在容器中执行ls命令, -t代表交互,不用进入容器中执行
注:docker exec -t 1e07933a5dcb /bin/bash 跟 docker attach 1e07933a5dcb 的效果是一样的,exec 后面执行的是/bin/bash,则是进入容器
[root@rocketmq-nameserver1 ~]# docker exec -t 1e07933a5dcb ls 
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  tmp  var
bin                etc  lib   media  opt  root  sbin  sys  usr

docker attach 容器ID    //重新进入容器交互界面
eg:docker attach 1e07933a5dcb
两者区别
1、attach 直接进入容器启动命令的终端,不会启动新的进程
2、exec 是在容器中打开新的终端,并且可以启动新的进程

将容器中的文件复制到主机

docker cp 容器ID:文件及对应的路径 主机的路径(存储位置)
eg:
[root@rocketmq-nameserver1 tmp]# docker cp 1e07933a5dcb:anaconda-post.log /tmp
[root@rocketmq-nameserver1 tmp]# ls
anaconda-post.log
  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值