Docker从入门到应用(三):Docker常用命令

Docker从入门到应用(三):Docker常用命令

帮助命令

  • docker version 显示docker版本信息
  • decker info 显示docker系统信息,包括镜像容器数
  • docker --help 显示docker帮助命令

常用镜像命令

  • docker images 列出本地镜像
    常用参数说明

    • -a 列出所有镜像,包含隐藏的中间镜像
    • -q 只显示镜像ID
    • --no-trunc 显示详细信息,不截断输出
    • --digests 显示摘要
      在这里插入图片描述
      在这里插入图片描述
  • docker search <oprions> 镜像名称 查询某个镜像
    常用参数说明

    • --no-trunc 显示完整的镜像描述
    • -f 根据查询条件查询镜像,常见条件 is-automated:是否自动构建, is-official:是否为官方镜像,stars: stars数量
      在这里插入图片描述
      在这里插入图片描述
      NAME:镜像名称
      DESCRIPTION:镜像描述
      STARS:点赞数
      OFFICIAL:是否官方镜像
      AUTOMATED:是否自动构建
  • docker pull 镜像名称[:tag] 下载镜像,若不提供tag,则默认下载latest版本
    在这里插入图片描述

  • docker rmi -f 镜像名称或者镜像id 删除镜像 -f 为强制删除参数,已经使用过的镜像删除是需要加-f

    • 删除单个镜像 docker rmi -f 镜像名称:TAG或IMAGE ID
    • 删除多个镜像 docker rmi -f 镜像名1:tag 镜像名2:tag 多个镜像之间用空格隔开
    • 删除全部镜像 docker rmi -f $(docker images -qa)
      在这里插入图片描述
      在这里插入图片描述

容器命令

容器是基于镜像构建的,有镜像才能创建容器,类似Java中类与对象的关系,有类才可以创建对象。

Docker利用容器(Container)独立运行一个或一组应用。容器是用镜像创建的运行实例。它可以被启动,开始,停止,删除。每一个容器都是相互隔离的、保证安全的平台。

可以把容器看作是一个简易版的Linux环境(包括root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

容器的定义和镜像几乎一模一样,唯一区别就在于容器的最上面那一层是可读可写的。

  • docker run [options] image [command][args] 新建并启动容器

    常用options说明

    • --name 为容器指定一个新名字
    • -d 重要, 后台运行容器,并返回容器id,也即启动守护式容器
      在这里插入图片描述
      已后台运行后,却发现容器却已经退出。注意:Docker容器后台运行,就必须要有一个前台进程,容器如果运行的命令不是那些一直挂起的命令(例如top,tail),就是会自动退出的,
      这个是docker的机制问题,比如你的web容器,已Nginx为例,正常情况下,我们配置启动服务只需要启动相应的service即可,例如 service nginx start,但是这样做,Nginx已后台模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后就会立即自杀,应为docker觉得他没事可做了,所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行。
    • -i 以交互模式运行容器,通常与-t一起使用
    • -t 为容器重新分配一个伪输入终端,通常与-i一起使用
    • -P 大写P,随机端口映射
    • -p 小写p 指定端口映射,有以下四种格式
      - ip:hostPort:containerPort
      - ip::containerPort
      - hostPort:containerPort
      - containerPort
      在这里插入图片描述
      在这里插入图片描述
      端口映射,访问本地8083端口即可访问Docker中运行的tomcat对应8080端口
      在这里插入图片描述
  • docker ps 查看所有正在运行的docker 容器
    常用options说明

    • -a显示正在运行的和历史上运行过的
    • -l 上一次运行的容器
    • -n X 上X次运行的,例如 -n 3 为上三次运行的
    • -q 只显示容器编号
  • exit 关闭容器并退出

  • ctrl+p+q 退出容器但不关闭容器

  • docker start <容器id或容器名>启动容器

  • docker restart <容器id或容器名> 重启容器

  • docker stop <容器id或容器名> 停止容器 stop:慢慢停止

  • docker kill <容器id或容器名> 强制停止容器

  • docker rm <容器id或容器名> 删除已停止的容器 -f 强制删除 (先停止再删除)

  • docker rm -f ${docker ps -aq}docker ps-aq|xargs docker -rm 删除所有容器

  • docker run -d <容器名称> 已守护式进程启动容器

  • docker logs -f -t --tail 容器id 查看容器日志 -t 加入时间 -f不停追加 ----tail 最后几行

  • docker top 容器id 查看容器进程

  • docker inspect 容器id 查看容器内部细节 已一个json串的形式展示容器信息

  • docker exec -it 容器ID bashShell进入正在运行的容器并以命令行交互
    在这里插入图片描述

  • docker attach 容器ID重新进入容器
    docker execdocker attach的区别
    attach 直接进入容器启动命令的终端,不会启动新的进程
    exec 是在容器中打开新的终端,并且可以启动新的进程

    exec 可以理解为进入容器并执行命令,并返回结果, 比attach更强大,例如在这里插入图片描述

  • docker cp 容器id:容器内路径 目的主机路径从容器上拷贝文件到主机上 docker 容器id:/容器路径 主机路径
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Hong_pro/article/details/123205292