Docker for Node.js Projects From a Docker Captain
使用来自容器专家的最新 DevOps 实践为 Docker、Kubernetes、Swarm 和 ARM 构建、测试和部署 Node。
你将会学到的
- 在 Docker 中优化 NodeJS 的本地开发设置
- 在使用 Docker 和 Compose 的 NodeJS 开发人员团队中顺利运行
- 使用 Docker 提高 Node 构建和测试的速度和可靠性
- 获得用于开发、测试和生产的最佳 NodeJS 调整
- 设计用于 Kubernetes 和 Swarm 的 NodeJS 图像
- 了解安全扫描和锁定您的 NodeJS 应用程序
要求
- 了解 Docker 101:Docker 基础知识,如镜像、容器和 docker 网络
- 了解 NodeJS 101:了解 NodeJS 语言和框架基础知识
- 了解命令行和 shell 的基础知识,以及 apt 或 yum 等软件包管理器
- 熟悉编程、云计算的基础知识,以及如何将应用程序部署到服务器
- 使用支持 Docker 的现代 Linux、Windows 或 macOS 计算机
说明
2021 年更新:为 Apple Silicon (M1 arm64) 和 Raspberry Pi 做好准备!
欢迎来到这个星球上最好的将 Docker 与 Node.js 结合使用的课程!掌握了 Docker 和 Node.js 的基本知识,掌握 Node.js 的 Docker 是一门面向 Node.js 路径上的任何人的课程。本课程将帮助您一起掌握它们。
我是您的导师 Bret,一位屡获殊荣的 Docker 队长、DevOps 社区负责人,以及畅销的 Udemy 作家。我为您开设了这门课程,因为我生活和呼吸 Docker 容器,并且自 2012 年以来我一直很喜欢使用 Node.js。它们可以很好地协同工作,我将向您展示如何使用!
了解 Docker 的尖端功能,这些功能将使您的 Node.js 应用程序构建得更快、更小、运行更安全、更可靠。容器和 Node.js 是科技界最热门和最受欢迎的两个主题。
知道不该做什么以及在 Docker 中使用 Node.js 的最佳方法同样重要,我在本课程中教授了大量关于在 Docker 中使用 Node.js的注意事项和注意事项的信息。
你要任务吗?我们使用各种 Node.js + Docker 设置完成分配。单容器 CLI 应用程序、数据库支持的 Web 应用程序、Express.js、hapi.js、分布式微服务应用程序、Angular、Websockets、HTTP 代理、具有正确连接关闭的 MongoDB 等等。
**注意:在开始本课程之前,请确保您了解 Docker 基础知识和 Node.js 基础知识。如果你是 Docker 新手,我建议你先读我的 Docker Mastery 课程。另请阅读课程要求!**
“…… Bret 太棒了。你可以看出他确切地知道自己在说什么,并且喜欢帮助他人。我从未见过有人像 Bret 那样参与到他的用户群中。通过 slack、现场 youtube 广播、新闻通讯等直接消息.我不知道他是怎么做到的…我会认真购买布雷特推出的任何课程,因为我毫不怀疑它会很棒。” — David Olson,Udemy 学生,Docker 精通课程。
“很好的介绍。Bret 提供了很好的资源和指导。谈到 Docker,他是你想向他学习的人。真正的交易。物有所值。 ” ——Joseph Martinez,Udemy 学生,Docker 掌握课程
您将在本课程中做的许多很酷的事情中的一些:
- 构建自动扫描安全漏洞的Node.js 映像
- 将 Docker 的尖端 BuildKit 与 SSH 代理和 NPM 缓存一起使用,以更好地构建映像
- 使用 docker-compose 和Visual Studio Code在 Docker 中获得完整的 Node.js 调试支持
- 确保您使用的是 Docker Desktop 的所有最新功能
- 使用BuildKit 和 Multi-stage Builds创建最小且灵活的 Dockerfile
- 使用CentOS 和 Alpine等发行版构建自定义 Node.js 映像
- 将 Docker init、tini 和 Node.js 作为容器中的 PID 1 进程进行测试
- 创建正确启动和响应健康检查的 Node.js 应用程序
- 在您的应用程序中构建优雅的关闭代码以实现零停机部署
- 通过编排深入研究HTTP 连接,以及代理如何提供帮助
- 研究Node.js的 Docker Swarm 和 Kubernetes 部署示例
- 将传统(遗留)Node.js 应用程序迁移到容器中
- 使用高级 Docker Compose 功能简化您的微服务解决方案
“Bret 是一位天生的讲师、docker 和 swarm GURU…… Bret 为处理 docker 文件的现实世界场景提供了清晰和公正的秘诀。 ” — Marciej Domanski,Udemy 学生,Docker 掌握课程。
“这个演讲者很强大!……演讲者立即获得了我的兴奋和青睐,这正是我希望发生的事情。这种出色的联系让我很容易跟上。” — Kendra,Udemy 学生,Docker 精通课程。
本课程附带的额外内容:
- 访问课程Slack Chat 团队,从我和其他学生那里获得帮助/建议。
- 每周 YouTube 直播问答,您可以在其中实时向我提问。
- 我在 YouTube 等其他地方发布的奖励视频,并通过 Udemy 公告分享。
- 大量参考链接可补充此内容。
- 随着产品在这些主题上更改其功能,更新内容。
您将在本课程中学到什么:
您将首先快速回顾一下如何设置 Docker以及 Docker Compose 基础知识。这样,我们就在同一页面上了解基础知识。
然后您将进入Node.js Dockerfile 基础知识,这样您将为我们将在整个课程中添加的新功能打下良好的 Dockerfile 基础。
您将建立在您从课程中的每个讲座中学到的所有不同内容的基础上。掌握 Compose、Dockerfile 和 Docker Image 的基础知识后,您将专注于细微差别,例如Docker 和 Linux 如何控制 Node 进程以及 Docker 如何更改它以确保您知道启动和关闭有哪些选项下 Node.js以及在不同场景中的正确方法。
我们将介绍使用BuildKit 和 Multi-stage 之类的东西使 Dockerfile 尽可能高效和灵活的高级、新功能。
然后我们将讨论分布式计算和云设计,以确保您的 Node.js 应用程序在您的容器中具有12 因子设计,以及学习如何将旧应用程序迁移到这种新的做事方式中。
接下来,我们将介绍 Compose 及其强大的功能,以使用 Docker Compose命令行和 Docker Compose YAML 文件实现真正高效的本地开发和测试设置。
有了所有这些知识,您将进入生产问题并使图像准备好生产。
然后我们将开始部署这些容器并在生产环境中运行它们。无论您使用 Docker 引擎还是使用 Kubernetes 或 Swarm 进行编排,我都能满足您的需求。此外,我们还将介绍HTTP 连接和用于多容器系统的连接处理和路由的反向代理。
最后,您将获得一个最终的大型任务,您将在其中构建和部署一个大型、复杂的解决方案,包括执行不同操作的多个 Node.js 容器。您将构建 Docker 映像、Dockerfile 和编写文件,并将它们部署到服务器进行测试。您需要检查连接故障转移是否正确。你基本上会把你学到的所有东西都应用到一个大项目中!
“ Bret 了解、生活、呼吸并热爱他的技术堆栈。他的所有课程中始终体现出激情和信念,这就是为什么我会一直推荐他的工作的原因。” — Steven Hunt,Udemy 学生,Docker Swarm Mastery 课程
为什么要向我学习?
- 我是一名实践者。欢迎来到现实世界:我拥有 20 多年的系统管理员和开发人员经验,获得了 30 多项认证,并且从早期开始就为我自己和我的咨询客户使用 Docker 和 Node.js。和我一起,你正在向帮助在数十个项目和组织中运行数百个容器应用程序的人学习。
- 我是一名教育工作者。和我一起,你会向知道如何制定教学大纲的人学习:我想帮助你。人们说我擅长。我因帮助他人学习而在 DockerCon 获得了 2018 年领导奖。在过去的几年里,我已经培训了成千上万的人在研讨会、会议和聚会中使用 Docker。看我在 DockerCon、O’Reilly Velocity、GOTO 和 Linux 开源峰会等活动上授课。
- 我领导社区。另外,我是 Docker Captain,这意味着Docker Inc. 认为我对 Docker 了解一两件事,并且我很擅长与他人分享。在现实世界中:我在美国诺福克/弗吉尼亚海滩的神话般的科技社区举办了两次本地聚会。我在网上提供帮助:通常在 Slack 和 Twitter 上,在那里我向他人学习和帮助。
“这是我认识的最好的老师,不是因为他教我,而是因为他强迫我在他设定的框架内为自己学习。” — Fabian Letsch,Udemy 学生,Docker 精通课程。
回馈:我在这门课程中的一部分利润将捐赠给支持开源和保护我们的在线自由!这门课程只有由创造开源的了不起的人才能完成。我站在(开源)巨头的肩膀上!捐款将分配给我最喜欢的慈善机构,包括电子前沿基金会和自由软件基金会。查查他们。他们太棒了!
这是一门生动的课程,将随着功能和工作流程的变化而更新。
本课程旨在让您快速入门,同时让您深入了解事物的“原因”。简直是学习最新 docker 技能的最快和最好的方法。查看课程中的主题范围,了解您将学习的技能的广度。
还包括一个私人 Slack 聊天小组和每周一次的 YouTube 直播问答,以获取本课程的帮助,并在我和其他学生的帮助下继续你的 Docker、Node.js 和 DevOps 学习。
非常感谢您考虑这门课程。加入我和成千上万的其他人(和我的其他人)一起学习最新的 DevOps 技术!- 布雷特
此课程面向哪些人:
- 具有基本 Docker 知识的 NodeJS 开发人员,他们希望使用容器提供的最佳功能
- 想要改进测试设置和 CI/CD 工作流程的 NodeJS 构建工程师
- 想要将 Docker 与 Node 的所有最佳实践一起使用的新 NodeJS 开发人员
- 希望优化部署并提高 NodeJS 应用程序稳定性的服务器运营商
- 想要了解部署和使用 NodeJS 的最佳和最安全方法的 Docker 用户
TheItzy » Docker for Node.js Projects From a Docker Captain