docker run命令做了什么

  • Post author:
  • Post category:其他




docker run命令做了什么



1,查看本地是否存在镜像,有镜像就以该镜像为模板生成实例



2,没有镜像就从远程仓库拉取镜像,然后以该镜像为模板生成实例

在这里插入图片描述




为什么Docker要比VM虚拟机快

  1. docker有着比虚拟机更少的抽象层

  2. docker利用的是宿主机的内核,而不需要加载操作系统OS内核




docker常见命令



1,帮助启动类命令

  1. systemctl start docker –启动docker
  2. systemctl stod docker –停止docker
  3. systemctl restart docker –重启docker
  4. systemctl status docker –查看docker状态
  5. systemctl enable docker –设置开机启动docker
  6. docker info –查看docker概要信息
  7. docker –help –查看docker 总体帮助文档
  8. docker 命令 –help –查看docker 命令帮助文档



2,镜像命令

  1. docker images:罗列出当前docker中的镜像文件


    格式:


    在这里插入图片描述
  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像的大小


    OPTIONS:说明

  • -a:列出所以镜像

  • -q:只显示镜像ID

  1. docker search image:查询镜像(docker search –limit 5 redis)
  2. docker pull image:下载镜像

    • docker pull 镜像名字[:TAG]:指定镜像版本下载
    • docker pull 镜像名字:下载最新镜像版本,等价:docker pull 镜像:latest
  3. docker system df:查看docker的容量空间
  4. docker rmi 镜像ID:删除镜像 (docker rmi -f $(docker images -qa):删除所以镜像)


涉及到的面试题:

  • docker 虚悬镜像是什么:仓库名,标签名都是none的镜像



3,容器命令


  1. 新建+启动容器:docker run [OPTION] IMAGE[COMMAND] [ARG…]


    OPTIONS说明:(常用)

    • –name:为容器指定一个名字
    • -d :后台运行容器并且返回容器ID,即启动守护式容器(后台运行)
    • -i:以交互式运行容器,通常与 -t一起使用
    • -t :为容器重新分配一个伪输入终端,通常与 -i一起使用
    • -P:随机端口映射
    • -p:指定端口映射

  2. docker ps


    OPTIONS说明:(常用)

    • -a:查询所以的容器)
    • -l:显示最近创建的容器
    • -n 2:显示最近创建的2个容器
    • -q:显示所以容器的ID

  3. 容器的退出

    • exit:run进去容器,exit退出,容器停止
    • ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止
  4. 启动已经停止的容器:docker start 容器ID或者容器名称

  5. 重启容器:docker restart 容器ID或者容器名称

  6. 停止容器:docker stop 容器ID或者容器名称

  7. 强制停止容器:docker kill 容器ID或者容器名称

  8. 删除已经停止的容器:

    • docker rm 容器ID或者容器名称(已经停止的)
    • 或者docker rm -f 容器ID或者容器名称
    • 一次性删除多个容器实例:

      • docker rm -f $(docker ps -a -q)
      • docker ps -a -q| xargs docker rm
  9. 启动守护式容器(后台容器)

    • docker run -d –name myredis redis
  10. 查看容器日志:docker logs 容器ID或者容器名称

  11. 查看容器内运行的进程:docker top 容器ID或者容器名称

  12. 查看容器内部细节: docker inspect 容器ID或者容器名称


  13. 进入正在运行的容器并以命令行交互:

    • docker exec -it 容器ID
    • docker attach 容器ID

    • exec 和attach命令都是进入容器,有说明区别

      • exec:exec命令通过交互式方式进入容器之后,exit退出之后,容器是不会停止。
      • attach:attach命令进入容器之后,exit退出交互式伪终端后,容器会停止
  14. 从容器内容导出文件到宿主机:docker cp 容器ID:容器内路径 目的主机路径


  15. 导入和导出容器

    • export:导出容器的内容留作为一个tar归档文件,命令格式:docker export 容器ID>文件名.tar demo:(docker export e9cf0da5e5c1 > ubuntu.tar)
    • import:从tar包中的内容创建一个新的文件系统再导入为镜像,命令格式:cat 文件名.tar|docker import -镜像用户/镜像名:镜像版本号,

      demo:cat ubuntu.tar|docker import – ubuntu1/ubuntu:111



版权声明:本文为hanlin_zhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。