docker利用过程中遇到概念问题

[复制链接]
发表于 2025-9-1 11:23:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×


  • 容器共享主机内核;虚拟机占用主机内核硬件
  • 容器的启动速度是秒级别;虚拟机的启动速度是分钟级别
  • 容器资源占用低,性能接近原生;虚拟机资源占用高,性能有一定的损耗
  • 容器是进程级别的隔离;虚拟机完全隔离

  • 容器和镜像的对比


  • 镜像是静态的只读模版,容器是动态的(镜像运行的实力)
  • 镜像的存储模式为分层存储并共享基础层,容器的存储模式是在镜像层上添加可写层
  • 镜像的主要作用是定义环境,容器的主要作用是运行应用

  • dockerfile 到底是用来干啥的?


  • 构建属于自己的镜像

  • dockerfile中的RUN、CMD和ENTRYPOINT 有什么区别?


  • RUN :在构建镜像的时候要执行的操作
  • CMD和RNTEYPOINT全部都是在天生容器的时候执行的命令
  • CMD :其内容可以被docker run后边跟的命令覆盖掉
  • ENTRYPOINT:其内容一定不会被覆盖,如果在docker run后有写一个命令,那么可能会被认为是entrypoint要执行命令的参数,导致运行出错

  • docker命令中exec和attach都是进入正在运行的容器,它俩有啥区别?


  • 主进程是 bash的情况下:
    利用 attach 进入容器,exit退出时会导致容器停止。
    利用 exec 启动的 Shell 被关闭,容器仍会继续运行(只要主进程未退出)。
  • 利用场景:
    docker exec:在容器内启动新进程,可举行任何操作,适合调试和管理操作
    docker attach:直接接入主进程的 I/O 流,仅能与主进程举行交互操作,适合监控监控实时输出

  • 查看镜像中的目次的区别
方法优点缺点写作方法启动临时容器,进入容器内举行查看交互式操作,能够直观的举行查看须要手动退出容器docker run -it --rm --entrypoint=/bin/sh <镜像名>  在容器内输入ls将镜像导出为tar举行查看无需运行容器天生临时文件占用空间docker create 创建临时容器,docker export 导出 tar -xf解压,ls ./usr/local 查看解压的目次,docker rm 删除临时容器利用 dive 工具可视化分析,显示层级变动需安装额外工具install dive 安装dive,dive 镜像名 分析镜像docker inspect获取元数据(如环境变量等等)无法直接查看文件内容docker inspect <镜像名> --format=‘{{.RootFS.Layers}}’ 查看镜像的层信息
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表