Docker常用命令

2018-10-25  本文已影响17人  渣渣进化论

Less Interests
More Interest

Docker命令的格式为:docker [OPTIONS] COMMAND
可分为下列三类命令

帮助命令

  • docker version   查看版本。
  • docker info     docker信息的描述例如多少个容器等。
  • docker --help   列出docker各种命令

镜像命令

  • docker images   列出本地的镜像
    选项:
    -a(all):列出本地所有镜像
    -q:只显示镜像ID
    --digests: 显示镜像的摘要 信息
    --no-trunc:显示完整的镜像信息
列出本地镜像

REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像ID
同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像。若不指定TAG,则默认使用latest

  • docker search 某个镜像的名称   从dockerhub上查找镜像
    选项:
      --no-trunc:显示完整的镜像描述(如编号实际很长,不使用这个将会截断输出)
      -s:列出收藏数不小于指定值的镜像
      -automated build:只列出automated build的镜像
  • docker pull 镜像名[:TAG]  下载镜像,默认TAG为lastest
  • docker rmi 镜像名或ID  删除某个镜像
    选项:
      -f  强制删除
      -f  镜像名TAG 镜像名2:TAG删除多个
      -f$(docker images -qa)  删除全部

容器命令

有镜像才能创建容器,这是一个前提

  • docker run [OPTIONS] image [COMMAND][ARG]  新建并启动容器
      选项:
        -name=”容器新名称“  为容器指定一个名称;
        -d:后台运行容器,并返回容器ID,即启动守护式容器
        -i:以交互模式运行容器,通常与-i同时使用
        -t:为容器重新分配一个伪输入终端
        -P:随机端口映射
        -p:指定端口映射,有四种格式
            ip:hostPort:containerPort
            ip::containerPort
            hostPort:containerPort
            containerPort


    以-it的方式启动

    此时将为容器分配一个终端,进行交互(docker里面的centos)


    以-d的方式启动
    容器启动成功了但是ps进程并无此容器。Docker容器后台运行,必须要有一个前台进程,容器运行的命令如果不是把哪些一起挂起的命令(如top。tail)就会自动退出,容器启动后觉得无事可做,就自动退出。
    后台运行
    此时后台在一直打印日志。所以不会退出,ps会有相关的容器进程
    启动一个tomcat
    docker run -it -p 8888:8080 tomcat
      -p主机端口:docker容器的端口
      docker 8888端口对应tomcat 8080,对外暴露的端口为8888
    访问8888端口可以看到tomcat
    docker run -it -P tomcat
    大P随机分配端口
    此时docker为内部tomcat分配的端口为:32769
    外部访问
  • docker ps [OPTIONS]  列出当前所有正在运行的容器
      选项:
        -a:列出当前所有正在运行的容器+历史上运行过的
        -l:显示最近创建的容器
        -q:静默模式只显示容器编号
        --no-trunc:不截断输出
  • exit   容器停止退出


    容器已经停止
  • ctrl+p+q  容器不停止退出 容器未停止,只是退出容器终端
  • docker start 容器名或容器ID  启动容器


    将停止的容器启动
  • docker restart 容器名或容器ID  重启容器
  • docker stop 容器名或容器ID  停止容器
  • docker kill 容器名或容器ID  强制停止容器
  • docker rm 容器ID   删除容器
      删除多个容器
        docker rm -f $(docker ps -a -q)
        docker ps -a -q | xargs docker rm
  • docker logs -f -t --tail 容器ID  查看容器日志
  • docker top 容器id  查看容器内运行的进程
  • docker inspect 容器ID  查看容器内部细节(docker镜像是一层套一层叠加起来的)
  • 进入正在运行的容器并以命令行交互(ctrl+p+q容器不停止退出  后台启动)
        docker exec -it 容器ID bashshell(不进入容器,直接在容器内执行bashshell)
        docker attach 容器ID(登录进容器,分配终端执行)
  • docker cp 容器ID:容器内路径 目的主机路径  容器内的数据拷贝到主机上
上一篇下一篇

猜你喜欢

热点阅读