Docker和Kubernetes面试速成指南 ☕️
1. Docker 基础问题
- Docker 是什么,为什么要用它?
docker run
和docker start
命令有什么区别?docker run
和docker start
命令有什么区别?- Dockerfile 是什么?例如,一个简单的Dockerfile可能看起来像这样:
FROM ubuntu \n CMD ["echo", "Hello Docker!"]
。 docker-compose
是什么,为什么要用它?- Docker 注册仓库和 Docker Hub 之间有什么区别?
-
如何查看系统上运行的容器数量?
运行命令
docker ps
来查看正在运行的Docker容器。 - Docker 卷是什么,如何使用它们?
- 如何调试 Docker 容器里的程序?
- Docker 中有哪些不同的网络类型?
- 示例:桥梁,主机(或服务器),无(或空),覆盖层或叠加。
- 如何用特定网络启动容器?
- 什么是 Docker Swarm,它是如何使用的?
- Docker 中的多阶段构建过程是什么?
- 在 Dockerfile 中,
ENTRYPOINT
和CMD
有什么区别? - 如何确保容器自动在崩溃后重启?
- 提示:使用
--restart
- Docker缓存是如何在Dockerfile环境下工作的?
- 如何减小Docker镜像的大小?
- 如何从Docker容器中提取日志?
- 输入:
docker logs <container_id>
- Docker安全的最佳实践有哪些?
- 如何在
docker-compose
文件中定义服务之间的依赖?
- 什么是 Kubernetes 以及它为什么这么流行?
- Kubernetes 架构的主要组件有哪些?
- 什么是 Pod?Pod 和容器有什么不同?
- Replication Controller 和 ReplicaSet 之间有什么不同?
- 什么是 Deployment 以及如何在 Kubernetes 中管理它?
- Service 和 Ingress 在 Kubernetes 中具体用来做什么?
- Kubernetes 命名空间是什么以及如何使用它们?
-
下面是一些常用的
kubectl
命令:查看 pods:
kubectl get pods
。 - 什么是持久卷(PV)和持久卷声明(PVC)?
- ClusterIP(集群IP)、NodePort(节点端口)和 LoadBalancer(负载均衡器)服务之间有什么区别?
- StatefulSet 和 Deployment 在 Kubernetes 中的具体用途和区别是什么?
- Helm 图表是什么,为什么它们在 Kubernetes 中被使用?
- 水平 Pod 自动扩展器(HPA)是做什么的,它如何工作?
- ConfigMaps 和 Secrets 在 Kubernetes 中具体有什么区别?
- 什么是存活探针和就绪探针?请提供例子。
- Kubernetes 中滚动更新和金丝雀发布是如何工作的?
- Kubelet 、 Kube-Proxy 和 etcd 是什么?它们在 Kubernetes 中分别起什么作用?
- 如何在 Kubernetes 集群中设置日志记录和监控?
- Pod 亲和性和反亲和性是什么,它们如何影响 Pod 的调度?
- Kubernetes 中的网络策略是什么,它们如何控制 Pod 之间的通信?
- 一个容器崩溃了。你怎么调试这个容器?
- 你 Kubernetes 集群中的一个 pod 处于 CrashLoopBackOff 状态。你怎么解决这个 CrashLoopBackOff 问题?
- 你怎么让一个 pod 在特定节点上运行?
- 例如:节点亲和性或污点和容忍。
- 如果容器的内存超出限制会怎样?
- 在Kubernetes集群中,如何处理扩容问题?
- Docker容器里的应用运行得很慢,如何排查?
- 如何确保Kubernetes集群的高可用?
- 您的Kubernetes集群挂了。您会怎么排查?
- 在Kubernetes中如何回滚Deployment?
- 如果Kubernetes中的某个服务不能公开访问,您会怎么排查?
运行一个简单的 Nginx 容器需要什么命令?
-
Docker :
docker run -d -p 8080:80 nginx
- Kubernetes :
kubectl run nginx --image=nginx --port=80
(运行一个名为 nginx 的容器,使用 nginx 镜像,并将容器的 80 端口映射到主机的 8080 端口)
- 如何确保 pod 在特定端口上运行?
- 提供一个 Kubernetes YAML 文件示例。
- 解释如何构建 Docker 镜像的步骤。
- 提供在 Kubernetes 中创建和使用 ConfigMap 的示例。
- 为一个多容器应用(例如,后端和数据库)编写一个
docker-compose
文件。 - 如何将 Kubernetes 部署扩展到 3 个副本?
- 保护Kubernetes集群有哪些最佳实践?
- 编写Dockerfile时应遵循哪些最佳实践?
- 如何在Kubernetes中高效扩展Pod?
- 如何为Docker容器设定资源限制?
- 管理Kubernetes中的密钥有哪些最佳实践?
编程愉快...
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦