docker常用命令
1.docker帮助命令
1. docker version docker版本
2. docker info docker详细信息
3. docker help docker帮助命令(学习命令的一种很重要的方法)
2.docker镜像命令
1. docker images //列出本地主机上的镜像
option说明:
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息
2. docker search 某个镜像的名字 //从dockerhub上查,从自己配置的镜像源拉取
option说明:
-s: 点赞数,例如 docker search -s 30 tomcat 搜索点赞数不小于30的镜像
--no-trunc: 显示完整的镜像描述
--automated: 只列出atuomated build类型的镜像;
3. docker pull 某个镜像的名字 //从配置的镜像源中下载镜像
docker pull tomcat 等价于 docker pull tomcat:latest
docker pull tomcat:3.2 //下载3.2版本的Tomcat镜像
4. docker rmi 某个镜像的名字 //删除某个镜像,如果不指定版本号,默认删除最新的版本
docker rmi -f 镜像id/唯一镜像名 //删除单个镜像
docker rmi -f 镜像名1:TGA镜像名2:TGA //删除多个镜像,例如删除nginx和tomcat docker rmi -f nginx tomcat
docker rmi -f $(docker images -qa)//删除全部
这个是组合命令,docker images -qa,查询出当前全部镜像id,然后传给docker rmi -f 就是全部删除
3.docker容器命令
1.新建并启动容器
dicker run [options] image [commod][ARG...]
option说明(常用):有些是一个减号,有些是两个减号
--name:为容器指定一个名称(重要)
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-i:以交互模式运行容器,通常与-t同时使用(重要)
-t:为容器重新分配一个伪输入终端,通常与-i同时使用(重要)
-P:随机端口映射
-p:指定端口映射,有以下四种格式
ip:hostPOrt:containerPort
ip::containerPort
hostPort:containerPort(重要)
containerPort
2.列出当前所有正在运行的容器
docker ps[options] //补充 Linux ps -ef 查看所有进程
options说明:
-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
--no-trunc:不截断输出
3.退出容器
退出容器有两种方式:
1.exit //容器停止退出
2.ctrl+P+Q //容器不停止退出
4.启动容器
docker start 容器ID/容器唯一名称
5.停止容器
温柔停止:docker stop 容器ID/容器唯一名称(慢慢停止)
强制停止:docker kill 容器ID/容器唯一名称(立马停止)
6.强制停止容器
docker restart 容器ID/容器唯一名称
7.删除已停止的容器
docker rm 容器ID
docker rm -f 容器ID(关停并删除)
批量删除:
1.docker rm -f $(docker ps -a -q)
2.docker ps -a -q |xargs docker rm
8.(重要)
docker run -d 容器唯一名称/容器ID 后台运行容器,守护进程运行容器,启动即自动结束
docker run -it -d 容器唯一名称/容器ID 台运行容器,守护进程运行容器
docker logs -f -t --tail 容器ID //查看容器日志
-t是加入时间戳
-f跟随最新的日志打印
--tail数组 显示最后多少条
docker top 容器ID ID查看容器内的进程
docker inspect 容器ID //查看容器内部细节,结果是json串的形式
docker exec -it 容器ID bashShell //进入正在运行的容器并以命令行交互
docker attach 容器ID //重新进入
attach:直接进入容器启动命令的终端,不会启动新的进程
exec:是在容器中打开新的终端,并且可以启动新的进程
docker cp 容器ID:容器内路径 目的主机路径 //从容器内拷贝文件到宿主机
docker exec -t 0372de884826 /bin/bash //进入到0372de884826中
docker exec -t 0372de884826 ls -l /tmp //不进入容器,返回tmp目录结果
docker attach 0372de884826 //进入到容器中
总结:exec功能更强大些,可以先进入在干活,也可以不进入直接干活。attach只能先进入在干活