Docker 容器命令

  • 新建并启动容器
    docker run [OPTIONS] IMAGE [COMMAND]
    OPTIONS -- 后面跟的是单词,- 跟的是字母
    --name: 后面跟着的是为容器指定的一个名称,这样方便我们后期对容器进行操作
    -d: 后台运行容器,并返回容器ID,被称为守护式容器
    -i: 以交互模式运行容器,通常与-t同时使用
    -t: 为容器重新分配一个伪输入终端,通常与-i同时使用
    -P:大P随机端口映射
    -p: 指定端口映射

  • 列出所有正在运行的容器
    docker ps [OPTIONS]
    -a:列出当前所有正在运行的容器+历史上运行过的
    -l:显示最近创建的容器
    -n: 显示最近n个创建的容器
    -q:静默模式,只显示容器编号

  • 退出容器

    • exit:容器停止退出
    • ctrl+P+Q:容器不停止退出
  • 启动容器

    • docker start 容器ID或容器名
  • 重启容器

    • docker restart 容器ID或容器名
  • 停止容器

    • docker stop 容器ID或容器名
    • 它是一种比较温和的方式,停止可能需要一些时间
  • 强制停止容器

    • docker kill 容器ID或者容器名
  • 删除已停止的容器

    • docker rm 容器ID
    • 一次删除多个容器
      • docker rm -f $(docker ps -qa)
  • 重点

    • 启动守护式容器
      • docker run -d 容器名
        • Docker容器后台运行,就必须有一个前台进程.
        • 容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的
    • 查看容器日志
      • docker logs -f -t --tail 容器ID
        • -t 是加入时间戳
        • -f 跟随最新的日志打印
        • --tail 数字 显示最后多少条
    • 查看容器内运行的进程
      • docker top 容器ID
    • 查看容器内部细节
      • docker inspect 容器ID
    • 进入正在运行的容器并以命令进行交互
      • docker exec -it 容器ID bashShell(/bin/bash)
      • docker attach 容器ID
      • 区别
        • attach 直接进入容器启动命令终端,不会启动新的进程
        • exec 是在容器中打开新的终端,并且可以启动新的进程
    • 从容器内拷贝文件到主机上
      • docker cp 容器ID:容器内路径 目的主机路径