常用容器命令:

     docker ps查看正在运行的容器

     docker images 显示镜像

     docker run -itd --name xuleiTest  -p 20880:20885  centos

              20880是对外端口,20885是本地对应的端口

    docker run --name xuleiTest  -itd -v /home/workspace/wenjiantest1:/app/wenjiantest2 -p 20854:8016 node

      -v /home/workspace/wenjiantest1:/app/wenjiantest2  两个文件建立连接(外部文件wenjitest1与内部文件wenjiantest2)

      --name 为容器指定一个名称

      -d 后台运行容器并返回容器ID,也即启动守护式容器

      -i 以交互模式运行容器,通常与-t同时使用

      -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

      -P 随机端口映射

      -p 指定端口映射,有以下四种格式

          ip:hostPort:containerPort

          ip::containerPort

          hostPort:containerPort(常用)

             containerPort

     docker rm 1b52782dfe9a  删除镜像

     docker ps -a 查看所有镜像

          -l 显示最近创建的容器

          -n 显示最近n个创建的容器

          -q 静默模式,只显示容器编号

          --no-trunc 不截断输出

     docker exec -it 1b52782dfe9a /bin/bash进入跑的镜像

      exit   关闭并退出容器

     ctrl +P +Q 不关闭,退出容器

          docker restart  容器名或者id    重启容器

     docker start  容器名或者id    启动容器

     docker stop   容器名或id       停止

     docker  kill  容器名或id   强制停止

     docker   rm    容器名或id     删除已停止的容器

     docker rmi     镜像名或id        删除镜像

     

  删除所有的容器

     docker rm -f $(docker ps -a -q)

     docker ps -a -q | xargs docker rm 

 

常用镜像命令:

    docker images  列出本地的镜像模板

        -a  列出本地所有镜像(含中间映像层)

        -q 只显示镜像ID

        --digests 显示镜像的摘要信息

        --no-trunc 显示完整的镜像信息

    docker search  镜像名字

          --no-trunc 显示完整的镜像描述

          -s 列出收藏数不小于指定值的镜像

          --automated 只列出automatedbuild类型的镜像

    docker pull   镜像名字

    docker rmi   镜像名字

       docker rmi -f 镜像id     删除一个

       docker rmi -f 镜像名1:tag  镜像名2:tag

       docker rmi -f $(docker images -qa)  删除所有镜像

 

 启动守护式进程 docker run -d  容器名  

           没有前台进程docker 会自动杀死启动的服务

 

查看容器日志  docker logs -f -t --tail 容器id  

          -t 是加入时间戳

          -f跟随最新日志打印

          --tail 数字显示最后多少条

查看容器内运行进程 docker top 容器id

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

进入正在运行的容器并用命令行进行交互  docker attach 容器id

                   docker exec -it 容器id bash

 

attach 与exec的区别:  

    attach直接进入容器启动命令终端,不会启动新的进程

    exec是在容器中打开新的终端,并且可以启动新的进程(即可以不进入容器进行操作)

 

提交镜像   

 docker commit -a="作者"  -m="写一些备注" 容器id  xulei/tomcat:1.0