首页互联网技术互联网 技术栈

互联网 技术栈

cysgjjcysgjj时间2024-10-11 00:30:03分类互联网技术浏览65
导读:如何通俗的解释“Docker”?你觉得人工智能全栈开发工作是做什么的,该怎么做好?如何通俗的解释“Docker”?Docker,搬运工的意思。也就是说搬运容器continer。Docker是一个开源的应用容器引擎,让开发者可以通过Docker打包他们的应用以及依赖包到一个可移植的容器Container中,容器与容器之间是完全隔离的,然……...
  1. 如何通俗的解释“Docker”?
  2. 你觉得人工智能全栈开发工作是做什么的,该怎么做好?

如何通俗的解释“Docker”?

Docker,搬运工的意思。也就是说搬运容器continer。Docker是一个开源应用容器引擎,让开发可以通过Docker打包他们的应用以及依赖包到一个可移植的容器Container中,容器与容器之间是完全隔离的,然后在任何主流操作系统中开发、调试和运行

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、

bare metal

、OpenStack 集群和其他的基础应用平台

  • Web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

***设您需要构建一个应用程序。这可能是下一个头条,下一个微信,下一个百度,下一个京东,或者别的什么。为了使该应用程序向公众开放,您需要一些地方来托管它。以前,这意味着您需要购买或者租用一个称为"服务器"的专用 计算机,它基本上是一台专门用于托管网站或 Web 服务的服务器,而不是您自己的个人计算机。然后将它托管到数据中心

互联网 技术栈
图片来源网络,侵删)

然后,"云"的时代来了。您可以将您的程序放到像阿里云这样的云公司的"数据中心"对外提供服务。与 Web 托管服务不同,这些公司***用了一种称为"虚拟化"的概念,即硬件***通过操作系统功能进一步细分隔离,并更优化地向需要这些***的客户提供操作系统。您只为所使用的操作系统服务付费,而不是使用整个物理服务器。对于您自己和云公司来说,这通常更加划算。

但即使是传统的云计算也无法避免一件事——使用大量的操作系统,如windowsLinux(RHEL,Ubuntu,Fedora等)。这些OS可以轻松地超过 1 GB 的大小,也称为"OS 映像"。但是,您的应用程序可能只有 300 MB 的大小。但是虚拟化产生的虚拟化环境,其大小为 1 GB 。您的应用程序远小于该虚拟机。您是不是觉得这1GB成本有点高。

Docker 就是为了解这个问题。Docker 以以下方式进行操作。可以共享某些公共***,而不是为每个应用程序托管一个操作系统。并且有一种叫做"docker 引擎"的东西,它位于操作系统的上层,如下所示。

互联网 技术栈
(图片来源网络,侵删)

从上图中您可以直观地观察使用容器时"app "是如何变得更小。从某种意义上说,这是一个非常简单的解决方案,只不过是在操作系统和应用程序之间引入另一层来优化***,使用并减少对冗余操作系统的需求。这是开发应用程序的重大突破,因为这种抽象级别解决了一个重大的问题— 减少配置巨型虚拟机的麻烦,只托管其应用程序所必需依赖的最小"容器"。

自己买了个服务器,前不久搭建好的一个网站,想要再搞一个站点,无奈只能修改端口后,再部署另外一个站点。繁琐的配置运行环境,迁移网站,是否让你感觉到很繁琐?服务器不想用了,想搬迁到另外一台服务器去部署,先是拷贝原有数据,在新的服务器上又开始搭建环境进行部署,这些费时间的事情现在只需要几分钟就能完成,那就是docker技术

docker通俗按照自己的理解来说,就是类似VM虚拟机一样的虚拟技术。但是它比虚拟机更加强大,体积小,运行速度快,启动和关闭只需要几秒。相对于普通虚拟机来说,启动时间在分钟级别,占用内存大。所以这就是docker出现之后的优势。docker容器可以打包为镜像文件(类似VM虚拟机的那些快照文件),迁移的时候我们只需要在新服务器上[_a***_]docker,就能把之前打包好的镜像文件导入到docker里面,运行容器,就能实现访问,不需要重新配置环境。

互联网 技术栈
(图片来源网络,侵删)

Docker是使用时下很火的Golang语言进行开发的,其技术核心是Linux内核的Cgroup,Namespace和AUFS类的Union FS等技术,这些技术都是Linux内核中早已存在很多年的技术,所以严格来说并不是一个完全创新的技术,Docker通过这些底层的Linux技术,对Linux进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。所以Docker是容器技术的一种实现,也是操作系统层面的一种虚拟化,与虚拟机的通过一套硬件再安装操作系统完全不同。

你觉得人工智能全栈开发工作是做什么的,该怎么做好?

作为一名科技从业者,我来回答一下这个问题。

首先,真正意义上的人工智能全栈开发是存在巨大困难的,一方面原因是人工智能领域研发方向非常多,即使按照大的方向来划分,也分为计算机视觉、自然语言处理、机器人学、机器学习、自动推理、知识表示等六大领域,这还不包括每个领域当中的众多细分方向,另一方面原因是人工智能开发本身具有较大的难度。

目前人工智能全栈开发通常指的是能够基于人工智能平台(开放及非开放),来完成行业落地应用的开发能力,虽然在难度上有一定程度的下降,但是对于开发人员整体的技术栈要求还是比较高的,不仅要掌握丰富的知识结构,同时还需要具有一定的行业知识。

从当前的人工智能平台体系结构来看,通常会基于计算机视觉和自然语言处理两大方向展开,相关的落地应用案例也在不断增多,而且随着当前技术迭代的不断推进,很多落地系统已经开始发挥出更大的作用,相信随着工业互联网的推进,未来生产环境下会有更多的智能化落地产品

以计算机视觉领域为例,基于视觉平台来打造全栈技术栈,可以基于程序员自身已有的技术来完成,比如Java全栈程序员转向视觉平台就会相对容易一些,经过一段时间的实践开发积累,往往也能够具备全栈开发能力。当然,随着当前人工智能平台功能边界的不断拓展,开发人员的能力边界也会得到拓展,但是这需要一个过程。

相对来说,培养人工智能全栈开发能力的过程往往需要场景的支撑,如果在脱离实践场景的情况下来学习人工智能开发,还是具有较大难度的。

我从事互联网行业多年,目前也在带计算机专业研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/20614.html

Docker一个容器
各类编程语言趋势走势,各类编程语言趋势走势分析 科技创新在于新反方辩论