zoukankan      html  css  js  c++  java
  • Docker 面试常见问题

    镜像相关
    • 1、如何批量清理临时镜像文件?
    sudo docker rmi $(sudo docker images -q -f danging=true)
    
    • 2、如何查看镜像支持的环境变量?
    sudo docker run IMAGE env
    
    • 3、本地的镜像文件都存放在哪里?
      于Docker相关的本地资源存放在 /var/lib/docker/目录下、其中container目录存放容器信息、graph目录存放镜像信息、aufs目录存放具体的镜像底层文件
    • 4、构建Docker镜像应该遵循哪些原则?
    整体原则上、尽量保持镜像功能的明确和内容的精简、要点包括:
    1、尽量选取满足需求但较小的基础系统镜像、建议选择Debian:wheezy镜像,仅有86MB大小
    2、清理编译生成的文件、安装包的缓存等临时文件
    3、安装各个软件时候要指定准确的版本号、并避免引入不需要的依赖
    4、从安全的角度考虑、应用尽量使用系统的库和依赖
    5、使用Dockerfile创建镜像时候要添加dockerignore文件或使用干净的工具目录
    
    容器相关
    • 1、容器退出后、通过docker ps 命令查不到数据丢失么?
      容器退出后会处于中止(exited)状态、此时可以通过 docker ps -a 查看、其中数据不会丢失、还可以通过docker start来启动、只有删除容器才会清除数据
    • 2、如何停止所有正在运行的容器?
    sudo docker stop $(sudo docker ps -aq)
    sudo docker kill $(sudo docker ps -aq)
    
    • 3、如何清理批量后台停止的容器?
    sudo dokcer rm $(sudo docker ps -aq	)
    
    • 4、如何临时退出一个正在交付的容器的终端、而不中止它?
      按Ctrl+p 后按Ctrl+q、如果按Ctrl+c 会使容器内的应用进程终止、进而会使容器终止
    • 5、很多应用容器都是默认后台运行的、怎么查看它们的输出和日志信息?
     sudo docker logs 、后面容器名称或容器ID号
     sudo docker logs -f -t --tail 100 容器名称或容器ID号 
    
    • 6、使用docker port 命令映射容器的端口号时、报错Error:No public port 80 published for ... 是什么意思?
      创建镜像时Dockerfile要指定正确的EXPOSE的端口、容器启动时指定publishallport=true
    • 7、可以在一个容器中同时运行多个应用进程吗?
      一般不推荐在同一个容器内运行多个应用进程、如果有类似需求、可以通过额外的进程管理机制、比如supervisord来管理所运行的进程
    • 8、如何控制容器占用系统资源(cpu、内存)的份额?
      在使用docker create命令创建容器或使用docker run 创建并运行的时候、可以使用 -c|-cpu-shares[=0]参数来调整同期使用cpu的权重、使用-m|-memory参数来调整容器使用内存的大小
    仓库相关
    • 1、仓库(Reposittory)、则注册索引(Index)有何关系?
      首先、仓库是存放一组关联镜像的集合、比如同一个应用的不同版本的镜像、注册服务器是存放实际镜像的地方、注册索引则负责维护用户的账号、权限、搜索、标签等管理。注册服务器利用注册索引来实现认证等管理
    • 2、从非官方仓库(如:dl.dockerpool.com)下载镜像的时候,有时候会提示"Error:Invaild registry endpoint https://dl.docker.com:5000/v1/"?
    Docker 自1.3.0版本往后以来,加强了对镜像安全性的验证,需要手动添加对非官方仓库的信任。 
    DOCKER_OPTS=”–insecure-registry dl.dockerpool.com:5000” 
    重启docker服务
    
    配置相关
    • 1、Docker的配置文件放在那里。如何修改配置?
      Ubuntu系统下Docker的配置文件是/etc/default/docker,CentOS系统配置文件存放在/etc/sysconfig/docker
    • 2、如何更改Docker的默认存储设置?
      Docker的默认存放位置是/var/lib/docker,如果希望将Docker的本地文件存储到其他分区,可以使用Linux软连接的方式来做。
  • 相关阅读:
    (五)消费Dubbo服务
    (四)Dubbo Admin管理控制台
    (三)发布Dubbo服务
    (二)zookeeper安装
    (一)Dubbo简介
    解决tomcat 启动 一闪而过
    Redis的数据结构之哈希
    Redis的数据结构之字符串
    Jedis 连接池实例
    linux/centos定时任务cron
  • 原文地址:https://www.cnblogs.com/MeiCheng/p/11349477.html
Copyright © 2011-2022 走看看