总结
这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家
目录
一、场景
二、分析报告结论
总体分析表
1、Docker Registry
2、VMware Harbor
3、Sonatype Nexus
4、SUSE Portus
三、技术经理总结
四、Nexus介绍
五、拉取镜像
1、查找镜像
2、拉取镜像
六、启动容器
启动容器报错
解决方案:
七、访问并配置nexus
一、场景
====
市民赵铁柱在A公司担任开发工程师。
技术经理让赵铁柱找适合公司的Docker开源镜像仓库,并形成分析报告提交给经理。赵铁柱通过身边的人脉咨询和网上查找资料,最终选定了四款仓库。
1、Docker Registry
2、VMware Harbor
3、Sonatype Nexus
4、SUSE Portus
二、分析报告结论
========
总体分析表
方案特性 | Docker Registry | VMware Harbor | Sonatype Nexus | SUSE Portus |
系统复杂度 | 简单 | 复杂 | 简单 | 一般 |
配置难易度 | 简单 | 复杂 | 一般 | 一般 |
Web UI管理界面 | 无 | 有 | 有 | 有 |
与外部LDAP/AD集成 | 无 | 有 | 有 | 有 |
访问权限控制 | 弱 | 强 | 弱 | 强 |
镜像复制 | 无 | 支持复制到另一个Harbor镜像库 | 支持Proxy代理到另一个镜像库 | 弱 |
镜像扫描 | 无 | 可集成Clair | 无 | 可集成Clair |
1、Docker Registry
Docker Registry是最流行的开源私有镜像仓库,以镜像格式发布,在下载后运行一个Docker Registry容器即可启动一个私有镜像仓库服务。
Docker Registry的有点如下:
-
Docker Registry的最大优点就是简单,只需要运行一个容器就能集中管理一个集群范围内的镜像,其他机器就能从该镜像仓库下载镜像了。
-
在安全性方面,Docker Registry支持TLS和基于签名的身份验证。
-
Docker Registry也提供了Restful API,以提供外部系统调用和管理镜像库中的镜像
2、VMware Harbor
VMware Harbor(简称Harbor)项目是由VMware中国研发团队开发的开源容器镜像仓库系统,基于Docker Registry并对其进行了许多增强,主要特性包括:
-
基于角色的访问控制
-
镜像复制
-
Web UI管理界面
-
可以集成LDAP或AD用户认证系统
-
审计日志
-
提供RESTful API以提供外部客户端调用
-
镜像安全漏洞扫描(从v1.2版本开始集成了Clair景象扫描工具)
Harbor相对于Docker Registry,提供了更好的用户管理、角色权限管理、审计日志,以及多个Harbor镜像仓库之间的镜像复制功能,可以用作企业私有镜像库的服务器。不过由于Harbor的组件较多,所以与外界的集成较为复杂。
3、Sonatype Nexus
Sonatype Nexus是一个软件仓库管理器,主要有2.X和3.X两个大版本。2.X版本主要支持Maven、P2、OBR、Yum等仓库软件;3.X版本主要支持Docker、NuGet、npm、Bower、PyPI、Ruby Gems、Apt、Conam、R、CPAN、Raw、Helm等仓库软件,也支持构建工具Maven。
Sonatype Nexus的特点如下:
-
部署简单,通过启动一个容器即可完成
-
支持TLS安全认证
-
提供Web UI管理界面
-
支持代理仓库(Docker Proxy),可以将到Nexus镜像仓库的操作代理到另一个远程镜像库
-
支持仓库组(Docker Group),可以把多个仓库组合成一个地址提供服务
-
除了支持Docker镜像,还支持对其他软件仓库的管理,例如:Yum、Npm等。
4、SUSE Portus
SUSE Portus是另一个开源镜像库,其特点包括:
-
基于组(Team)和命名空间(Namespace)的细粒度访问权限控制
-
Web UI管理界面
-
可以集成LDAP用户认证系统,也支持OAuth
-
审计日志
-
提供RESTful API,以供外部客户端调用
-
镜像安全漏洞扫描(集成Clair镜像扫描工具)
三、技术经理总结
========
1、公司现在已经在使用Nexus当Maven私服,Nexus3又支持docker,到时用一套私服仓库就可以一举多得。
2、Harbor功能强大,但组件多,配置和运维的复杂度高,增加运维难度。
3、Docker Registry不满足公司需要,而且也没有图形界面管理;SUSE Portus跟Nexus有差不多的功能,最终公司还是选择Nexus3。
四、Nexus介绍
=========
“Docker官方镜像仓库” 访问速度很慢,Sonatype Nexus允许搭建我们自己的镜像仓库,为实现镜像拉取、推送提供便利。
Sonatype Nexus是一个软件仓库管理器,主要有2.X和3.X两个大版本。2.X版本主要支持Maven、P2、OBR、Yum等仓库软件;3.X版本主要支持Docker、NuGet、npm、Bower、PyPI、Ruby Gems、Apt、Conam、R、CPAN、Raw、Helm等仓库软件,也支持构建工具Maven。
五、拉取镜像
======
1、查找镜像
docker search nexus3
2、拉取镜像
docker pull docker.io/sonatype/nexus3
六、启动容器
======
指定数据卷,防止每次启动容器,容器里的数据丢失,实现容器和虚拟机数据共享
指定虚拟机与容器共享的文件夹
mkdir /usr/local/docker/nexus/nexus-data
需要修改文件夹权限
chmod 777 /usr/local/docker/nexus/nexus-data
“8716903d1912 ”为nexus的镜像ID
docker run -p 8081:8081 --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data 8716903d1912
启动容器报错
报错:没有权限创建
mkdir: cannot create directory ‘…/sonatype-work/nexus3/log’: Permission denied
写在最后
作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?
就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。
最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java经典面试问题(含答案解析).pdf和一份网上搜集的“Java程序员面试笔试真题库.pdf”(实际上比预期多花了不少精力),包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!
由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!
Java经典面试问题(含答案解析)
阿里巴巴技术笔试心得
[外链图片转存中…(img-xy7iZFld-1715701082681)]
Java经典面试问题(含答案解析)
[外链图片转存中…(img-FRS2Tm4I-1715701082682)]
阿里巴巴技术笔试心得
[外链图片转存中…(img-BsFXpEP3-1715701082682)]