Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

docker命令 - 容器操作

获取信息

  • 列出某个容器的详细配置

    docker inspect <container_id>或容器名
    
  • 列出某个容器的日志打印

    docker logs <container_id>或容器名
    
    • 对于打印出的记录时间,是零时区,要加8小时才代表北京时间
    • 常用参数
      • 无参
        • 打印所有日志信息(一般不用这个,太多了)
      • --tail 500
        • 打印最近的500条日志
      • --since 2022-07-15T16:00:00 --until 2022-07-15T16:03:00
        • 这里直接用北京时间做输入,无需换算零时区
        • 打印 从下午4点开始,到4点03分 的日志
  • 列出某个容器的端口映射

    docker port <container_id>或容器名
    
  • 列出某个容器相关的进程

    docker top <container_id>或容器名
    

执行命令

  • 进入容器内交互

    docker exec -it <container_id>或容器名  /bin/sh
    
    • 可用-e var1=v1预先传递一些环境变量,在里面交互时可以使用
  • 直接让容器执行一句命令

    docker exec <container_id>或容器名 一句命令
    
    • 如果要后台执行,就加上-d参数
  • 复制 容器内的文件夹 到 本地机器

    docker cp <container_id>或容器名:文件夹路径 本地机器路径
    

监控

  • 实时查看资源使用情况

    docker stats <container_id>或容器名
    
  • 把标准输入与标准输出连接到正在运行的容器

    docker attach <container_id>或容器名
    
    • 这样连接是很危险的,因为默认把标准输入也连进去了

      • 这时候如果不小心按了ctrl + c,就会发送SIGINT中断信号,导致容器被停止
      • 如果只是想退出去,可以先按ctrl + p,再按ctrl + q
      • 如果不想连接标准输入,则使用参数--no-stdin=false
    • 与exec的区别

      • docker exec 进入容器后开启一个新的终端,可以在里面操作(常用)
      • docker attach 进入容器正在执行的终端,不会启动新的进程,只是附着到上面