docker面试题

本文详细介绍了Docker镜像、容器及仓库的管理,包括如何批量清理镜像、查看镜像支持的环境变量、定位本地镜像存储位置、控制容器资源占用以及配置Docker的默认存储设置。此外,还涉及了Docker安全性和非官方仓库的使用注意事项。
摘要由CSDN通过智能技术生成

镜像相关

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软连接的方式来做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值