前言
关于docker的面试题,很多面试官会问,你们公司的docker主要用来做啥? 或者 docker有几种网络模式,还有的面试官会问一些基础命令。
当然也会有公司问docker和vmware的区别?
今天我们主要来看看docker都用来做啥, 我随机调查了社群里的近500个小伙伴,公司不用的咱们不管他,说说那些公司他们提到的过的需求。
因为涉及到的公司诸多,所有的内容,你不可能面面俱到,按照自己的需要去准备即可。
用docker有哪些好处?
- 减少硬件的开销
- 降低硬件需求与系统的耦合度
- 代码管道的管理,解决了因为环境不一致导致的问题
- 快速部署
- 快速回滚
哪些地方会用到docker
- 需要频繁的升级,可以充分利用docker的镜像版本快速升级回退。
- 开发,测试,线上的代码运行环境经常变更。每当你查了半天bug,最后竟然是环境不一致的时候。
- -销售演示或者POC的demo。启动后无历史数据,免去清理数据的烦恼。
- 项目体量过大,进行了微服务改造。需要统一管理,docker-compose了解下
- 占用资源过多,可以利用docker资源配额和设置启动策略,提升稳定性。
- 整合开源服务,随着docker使用的普及,越来越多的开源项目提供了docker镜像部署
小调查: 你经常用都docker做过啥?
- docker 搭建分布式hadoop集群
- 微服务框架dubbo zookeeper 中使用docker部署分布式
- docker构建redis集群
- 使用docker swarm搭建分布式爬虫集群
- 使用docker搭建jumpserver
- docker部署分布式ceph存储集群
- docker部署zookeeper集群
- docker部署fastdfs分布式集群
- 基于glusterFS实现docker集群的分布式存储
- 使用docker安装elasticearch
- docker部署flask 应用
- docker compose部署ELK
- docker实现高并发架构(docker+nginx+tomcat 动静分离)
- docker swarm集群实现负载均衡
- docker使用nginx负载均衡
- docker实现nginx部署静态网页HTML
- 基于jenkins+docker实现自动化部署(持续交付)
举例:
jenkins+docker实现持续交付过程
-
开发人员在gitLab上打了一个tag
-
gitLab把tag事件推送到Jenkins
-
Jenkins 获取tag源码,编译,打包,构建镜像
-
Jenkins push 镜像到阿里云仓库
-
Jenkins 执行远程脚本
5-1. 远程服务器 pull 指定镜像
5-2. 停止老版本容器,启动新版本容器 -
通知测试人员部署结果
总结
关于你们公司的docker主要用来做啥,还有很多,大部分停留在,使用docker搭建个apache的层面,也就没有统计。
docker只是个工具,就跟shell脚本一样,看你自己的个人需求,你想搞自动化,容器化就搞,不想搞也还有别的方案可以实现。
公司的工作,不是考试,没有标准答案,了解了这一点,你才能在公司拿出一个又一个的方案。 而且公司也没有那么多项目给你做。