Dockerize系列介绍
介绍
欢迎来到 Dockerize 系列。在这里,我将讨论如何在开发和生产环境中将 Docker 与应用程序结合使用。
我们还将使用 Builder 模式、多阶段构建等技术来优化我们的生产构建。
这将作为即将发表的文章的介绍,在这些文章中我们将对我们的 React、Node、Go 应用程序进行 docker 化!
Docker...是什么以及为什么?
Docker 是一个基于容器构建应用程序的软件平台,容器是小型、轻量级的执行环境。
它还有助于消除特定于环境的问题,因为您可以在本地复制生产环境,从而为我们的团队提供一致性。
Docker compose
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件配置应用程序的服务。然后,只需一个命令,即可根据配置创建并启动所有容器。
注意:不建议docker-compose
在生产环境中运行应用程序。请使用容器编排工具,例如Kubernetes、Openshift、AWS ECS等。
建造者模式
在 Builder 模式中,我们使用 docker 镜像(通常包含整个运行时)来创建小型构建工件,然后在另一个较小的镜像中使用这些二进制文件/工件,从而减小构建镜像的大小。
以 Node 镜像为例,它们通常比850mb
官方镜像大(有些精简版本会更小一些),因为它们包含完整的运行时以及其他一些在生产环境中可能用不到的东西。因此,我们可以使用构建器模式来执行以下操作:
- 从具有完整运行时/SDK 的 Node 基础镜像派生
- 复制您的源代码
- 安装依赖项
- 生成构建工件/包(通常使用webpack、parcel等打包工具完成)等
- 在Alpine等更小的图像中使用构建的工件
- 将小图像推送到您选择的存储库,如AWS ECS、Dockerhub等。
多阶段构建
多阶段构建使构建器模式的使用更加便捷,无需创建多个文件、将构建内容复制到主机系统,以及实现构建器模式所需的其他操作。更多信息,请点击此处
我在本文中讨论了构建器模式和多阶段构建
一切准备就绪!下期再见!
文章来源:https://dev.to/karanpratapsingh/introduction-to-dockerize-series-28l1