docker教程——面试总结

打个广告,帮朋友卖点东西,东西超便宜的哟【衣服鞋子等】,厂家直接出货,绝对低于市场价!!! 一般都比市场价便宜3—7折【都是牌子货】,如果您感兴趣,可以扫描屏幕下方的二维码,感谢关注!!!

docker教程——面试总结_第1张图片 微信

  • 如何批量删除或者停止运行的容器?
docker kill/rm `docker ps -aq`
  • 本地的镜像文件都存放在哪里

        Docker相关的本地资源存放在/var/lib/docker/目录下,其中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的镜像底层文件。

  • 构建Docker镜像应该遵循哪些原则?

        整体远侧上,尽量保持镜像功能的明确和内容的精简,要点包括:

  1. 尽量选取满足需求但较小的基础系统镜像,建议选择debian:wheezy镜像,仅有86MB大小
  2. 清理编译生成文件、安装包的缓存等临时文件
  3. 安装各个软件时候要指定准确的版本号,并避免引入不需要的依赖
  4. 从安全的角度考虑,应用尽量使用系统的库和依赖
  5. 使用Dockerfile创建镜像时候要添加.dockerignore文件或使用干净的工作目录
  • 容器退出后,通过docker ps 命令查看不到,数据会丢失么?

        容器退出后会处于终止(exited)状态,此时可以通过 docker ps -a 查看,其中数据不会丢失,还可以通过docker start 来启动,只有删除容器才会清除数据。

  • 如何临时退出一个正在交互的容器的终端,而不终止它?

        按Ctrl+p,后按Ctrl+q,如果按Ctrl+c会使容器内的应用进程终止,进而会使容器终止。

  • 很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?

        使用docker logs,后面跟容器的名称或者ID信息

  • 可以在一个容器中同时运行多个应用进程吗?

        一般不推荐在同一个容器内运行多个应用进程,如果有类似需求,可以通过额外的进程管理机制,比如supervisord来管理所运行的进程。

  • 如何控制容器占用系统资源(CPU,内存)的份额?

        在使用docker create命令创建容器或使用docker run 创建并运行容器的时候,可以使用-c|–cpu-shares[=0]参数来调整同期使用CPU的权重,使用-m|–memory参数来调整容器使用内存的大小。

  • 仓库(Repository)、注册服务器(Registry)、注册索引(Index)有何关系?

        首先,仓库是存放一组关联镜像的集合,比如同一个应用的不同版本的镜像,注册服务器是存放实际的镜像的地方,注册索引则负责维护用户的账号,权限,搜索,标签等管理。注册服务器利用注册索引来实现认证等管理。

  • 如何更改Docker的默认存储设置?

        Docker的默认存放位置是/var/lib/docker,如果希望将Docker的本地文件存储到其他分区,可以使用Linux软连接的方式来做。

  • 如何将一台宿主机的docker环境迁移到另外一台宿主机?

        停止Docker服务,将整个docker存储文件复制到另外一台宿主机上,然后调整另外一台宿主机的配置即可

  • 为什么要用Docker
  1. 容器具有封闭性,在一个服务器里,可以有好多容器。每个容器他可以是系统,可以是服务、可以是应用,装着什么就是什么。
  2. 程序性迁移。容器内的环境是可以与程序相适应。而这个容器又可以在不同的生产环境里使用。试使用一下,windows的游戏我就放到一个linux里面玩,宝马的外壳里面是奔驰,而且可以是很多台奔驰。
  3. 速度快,定制快。持续交付与部署。(例如公司有多个项目,所使用的环境都好相似,由于客户不愿意给更多的钱购买专用的服务器,于是把这堆客户放在一个集群里面,共享他们的资源。)
  4. 容器服务是在集群里的。这样服务器的横向扩展(随时增加ECS)和纵向扩展(升级ECS配置)都是很容易的事,无限的扩充。

你可能感兴趣的:(docker教程)