Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK

本文详细介绍了如何构建一个包含CentOS、JDK8和OpenCV的基础Docker镜像,用于Java版人脸检测应用。首先明确了开发人脸检测应用的目标和步骤,然后讲解了为何不直接使用OpenJDK官方镜像的原因,因为需要opencv的本地库。文章通过分步方式,先构建CentOS+JDK的基础镜像,再在此基础上添加OpenCV,最终得到完整的Java人脸检测应用所需的Docker镜像。内容包括Dockerfile的编写,以及镜像的构建和验证过程。
摘要由CSDN通过智能技术生成

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

本篇概览

  • 如果您看过《三分钟极速体验:Java版人脸检测》一文,甚至动手实际操作过,您应该会对背后的技术细节感兴趣,接下来就请随欣宸一起动手实战,从无到有将这个应用开发出来;

  • 首先确定咱们的目标:

  1. 开发出java版的人脸检测应用

  2. 将此应用制作成docker镜像

  3. 在docker环境运行这个应用

  • 基于上述目标,我们可以确定以下操作步骤:
  1. 准备好docker基础镜像

  2. 开发java应用

  3. 将java应用打包成package文件,集成到基础镜像中,得到最终的java应用镜像

  • 本篇的目标就是上述第一步:准备好docker基础镜像

关于人脸检测应用的基础镜像

  • 如果您有过制作java应用镜像的经历,一定会产生疑问:如下图红框所示,一般不都是把OpenJDK的官方镜像作为基础镜像吗?为啥要拿一篇文章来讲基础镜像的事情?

在这里插入图片描述

  • 对于人脸检测的应用来说,OpenJDK的官方镜像是不够用的,因为用java实现人脸检测需要一个关键技术:javacv,在javacv运行过程中需要用到opencv的一些本地库,因此需要在运行环境中安装opencv

  • 如下图所示,一个人脸检测应用自下而上由以下六部分构成,如果将底部的操作系统、JDK、OpenCV做成基础镜像就方便多了,咱们开发应用的时候只要需关注上面三层即可,而上面三层不就是个普通的maven工程吗?

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210719070625993.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

ubmV0L2JvbGluZ19jYXZhbHJ5,size_16,color_FFFFFF,t_70)

  • 至此,聪明的您对接下来要做的事情应该很清楚了:编写Dockerfile文件用来制作镜像,这个镜像中要有CentOS + JDK1.8 + OpenCV

分两步走

  • 我打算先做一个CentOS + JDK的镜像,在此基础上再做一个集成了OpenCV的镜像,这样在一些不需要OpenCV的场景中,我还能单独使用CentOS + JDK1.8的镜像

  • 分析完成,开始动手吧

CentOS + JDK的镜像

  • 之所以选择CentOS作为操作系统,是因为平时工作中最常用的就是它了

  • 纵观OpenJDK官方的各种镜像,并没有发现CentOS作为操作系统的,因此自己动手吧,思路很简单:找到OpenJDK的Dockerfile文件,把它的基础镜像换成CentOS7.6即可

  • 以下是Dockerfile的所有内容,可见核心是根据不同的操作系统下载文件然后安装,逻辑简单清晰就不多说了:

FROM centos:7.6.1810

RUN set -eux; \

yum install -y \

gzip \

tar \

binutils \

freetype fontconfi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值