Java开发人员的Docker教程

课程大纲

Docker是执行操作系统级虚拟化(也称为容器化)的计算机程序。 它由Docker,Inc.开发。Docker主要是为Linux开发的,它使用Linux内核的资源隔离功能(例如cgroups和内核名称空间)以及具有联合功能的文件系统(例如OverlayFS等)来允许独立的“容器”。 ”可在单个Linux实例中运行,从而避免了启动和维护虚拟机(VM)的开销。

Linux内核对名称空间的支持主要隔离了应用程序对操作环境的视图,包括进程树,网络,用户ID和已安装的文件系统,而内核的cgroup提供了资源限制,包括CPU,内存,块I / O和网络。 从0.9版开始,Docker除了通过libvirt,LXC和systemd-nspawn使用抽象的虚拟化接口之外,还包括libcontainer库作为直接使用Linux内核提供的虚拟化工具的自有方式。 (来源: 维基百科

在本课程中,我们提供了一系列教程,以便您可以开发自己的基于Docker的应用程序。 我们涵盖了广泛的主题,从通过命令行的Docker到开发,测试,部署和持续集成。 通过我们简单易懂的教程,您将能够在最短的时间内启动并运行自己的项目。

作者概述

Andriy在乌克兰的日托米尔工程技术学院获得了计算机科学硕士学位。 在过去的十五年中,他一直担任许多成功项目的顾问/软件开发人员/高级软件开发人员/团队负责人,包括多个北美和欧洲客户的大型软件系统。

在他的职业生涯中,Andriy在企业体系结构,Web开发(ASP.NET,Java Server Faces,Play框架),软件开发实践(测试驱动的开发,持续集成)和软件平台(Sun JEE,Microsoft .NET)方面积累了丰富的经验。 ),面向对象的分析和设计,丰富的用户界面(MFC,Swing,Windows Forms / WPF)的开发,关系数据库管理系统(MySQL,SQL Server,PostgreSQL,Oracle),NoSQL解决方案(MongoDB,Redis)和操作系统(Linux / Windows)。

Andriy在分布式(多层)软件系统,多线程应用程序,桌面应用程序,面向服务的体系结构和富Internet应用程序的开发方面具有丰富的经验。 自2006年以来,他主要在JEE / JSE平台上积极工作。

作为专业人士,他始终乐于不断学习和自我完善,以提高他真正热爱的工作的生产力。

经验教训

如果您还没有听说过Docker ,那么您可能在过去几年中在太阳系的其他星球上度过了。 Docker席卷了我们的行业,并且立即改变了许多公认的软件开发以及运营实践和模式。 如今,几乎每个组织都在使用Docker (或等效的Docker ),甚至在生产中也使用勇敢的Docker ,并且它的采用正以惊人的速度增长。

在本教程的这一部分中,我们将掌握Docker的瑞士军刀,其同名docker命令行工具以及其最好的朋友docker-compose 。 为了给这些工具一些功劳,每个工具都支持无数种不同的命令行参数和选项,因此,讨论所有这些工具将使本节无穷无尽。 相反,我们将重点放在命令的最有用的类上,指向文档的相关部分,以防您想立即学习更多。

从本教程的前面的部分中,我们已经知道Docker不仅具有出色的命令行工具,而且还公开了功能丰富的Docker Engine API 。 到目前为止,已经为Go和Python语言提供了官方支持的客户端。 当然,对于Java开发人员来说,这不是一个令人鼓舞的消息,但是隧道尽头有一个亮点。

在本教程的前几部分中,我们介绍了Docker的基础知识以及与之交互的多种方法。 现在是时候将我们获得的知识应用于实际的Java项目,从Docker如何影响完善的构建过程和实践这一主题开始讨论。

在本教程最后一部分中,我们学习了许多将Java应用程序打包(和运行)为Docker容器的方法。 在这一部分中,我们将更多地关注Docker如何以非常积极的方式影响我们的开发实践。

如果我们考虑最明显地受到Docker和基于容器的虚拟化的影响的软件工程领域,那么测试和测试自动化无疑是其中之一。 随着软件系统变得越来越复杂,它们所基于的软件堆栈也越来越复杂,涉及许多活动部件。

Docker出现之前,许多公司一直在使用基于容器的虚拟化以生产方式部署应用程序(包括基于JVM的应用程序)。 但是,主要由于Docker的缘故, 如今使用容器的部署实践已成为主流。

在本教程中,我们已经了解了Docker如何渗透到典型Java应用程序生命周期的各个方面:构建,开发,测试和部署。 在这一部分中,我们将专注于持续集成中日益重要的主题之一。

请确保转发此消息,让您的社交粉丝知道!

翻译自: https://www.javacodegeeks.com/2018/02/docker-tutorial-java-developers.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值