使用 Kool 正确地将本地开发环境 Docker 化
在本地开发环境中使用 Docker 容器已成为 Web 开发的普遍做法。然而,实际操作起来,本地使用 Docker 仍然充满挑战,常常导致糟糕的开发体验和诸多问题。那么,本地开发中使用容器的正确方法是什么呢?我们认为答案在于一个名为Kool 的全新开源项目。
Kool通过消除障碍,帮助开发人员和 DevOps 工程师以更好、更高效的方式开发云原生应用程序,使他们能够专注于最重要的事情。
现实世界的学习曲线
过去几年,Docker 以迅猛之势席卷了软件开发领域。它强大的容器构建、部署和运行接口使其被各种规模的团队和公司广泛采用。通过容器化 Web 应用程序,您可以更轻松地跨不同技术栈工作,在不同的应用程序和微服务之间切换,并实现环境的标准化和扩展。您不再需要浪费宝贵的时间来调试和修复版本不匹配、并发运行的应用程序、依赖冲突、资源控制不佳等问题。
然而,尽管 Docker 的“入门”体验非常简单,但在容器上开发实际应用却远比想象中要难得多。随着需求的变化,你会迅速面临陡峭的学习曲线,不得不掌握 Docker 的各种细微差别、更高级的配置以及容器内部的工作原理,才能将其功能应用于更复杂的环境。
例如,掌握何时使用 `--or`-t或 ` --install`-T标志,解决映射卷的权限问题,甚至更深层次的问题,例如 Docker 网络由于其 MTU 值与底层主机网络不同而突然丢失外部软件包。如果你以前遇到过这些问题,我深表同情。如果没有,那你真是太幸运了!docker rundocker exec
Docker 虽然能为团队提供强大的功能,但这种功能并非廉价。在学习 Docker 的过程中,你往往不得不通过反复试验来寻找解决问题的可行方案。由于团队成员的 Docker 专业知识水平参差不齐,知识往往被团队资深成员所垄断,而开发人员则可能针对同一个问题采用不同的解决方案。此外,还有一些隐性成本,例如资深工程师不得不放下手头的工作去帮助其他人解决技术问题,花费大量时间来协调相互矛盾的意见和变通方案,以及工作流程中断导致的士气低落。最终,你的项目将难以保持高速运转,也难以按时按预算完成。
Kool 的更好方法
Kool ( kool-dev/kool ) 提供了一种更高效的本地 Docker 使用方式。Kool 提供了一套开源工具,旨在提升开发者体验 (DX),并通过确保您遵循最佳实践并在项目和团队中以标准化的方式使用 Docker,帮助您避免之前提到的各种陷阱。从运行在 Docker 上的本地开发环境到运行在云端 Kubernetes 上的测试和生产环境,Kool 让 Web 应用的容器化变得更加轻松。
Kool CLI
CLIkool提供了一个简洁直观的界面,用于管理 Docker 和 Docker Compose 容器。它简化了您在本地环境中使用 Docker 的方式,消除了 Docker 中那些会拖慢速度的“障碍”,大大降低了学习难度和出错率,并帮助团队以更低的入门成本利用容器技术。
Kool CLI 提供单行安装程序、轻松升级到新版本的self-update命令、直观的命令行界面和完整的命令参考,以及完善的文档。使用koolCLI 而不是docker直接操作,您可以避免每天学习新的命令行参数,从而专注于编写代码!
Kool Presets
Kool Presets 提供预构建的开发环境,开箱即用,默认设置合理,可快速搭建使用 Laravel、Symfony、Node.js、AdonisJs、Next.js 等热门框架和技术栈的项目。预设会自动生成一个自定义docker-compose.yml文件和一个kool.yml配置文件,您可以在配置文件中轻松存储常用的单行和多行脚本,并通过命令执行这些脚本kool run。这有助于保持开发工作流程的开放性和团队协作性。了解更多工作原理。
Kool Docker 镜像
当你开始使用容器进行开发时,你会突然意识到官方的 Docker 镜像是为了部署而构建的,并不适合本地开发的特殊情况。我们遇到的最常见且反复出现的问题之一是映射卷的权限问题,这是由于主机用户和容器用户不同造成的。Kool 通过创建针对本地开发环境优化的自定义 Docker 镜像,解决了这个问题以及许多其他问题。
Kool Docker 镜像中包含的一些优化:
- UID 映射到主机用户以解决权限问题
- 高山基地图像将保持小巧且及时更新。
- 配置采用合理的默认值(适用于开发和生产环境)
- 环境变量便于更新最常用设置
- 久经考验——我们已经在生产中使用这些图像很长时间了!
如果你清楚自己在做什么,就可以将其kool用于任何 Docker 镜像。你无需使用 Kool 优化的镜像。
酷云(即将推出)
Kool CLI 与 Kool Cloud 无缝集成。基于您本地已使用的 Docker 配置,您可以轻松快捷地从本地环境直接在云端创建测试环境。只需使用一组kool deploy命令,即可将本地项目仓库推送到 Kool Cloud,它会自动部署到运行在共享 Kubernetes 基础设施上的容器中。您的本地环境和云环境从未如此紧密相连!
Kool Cloud目前正在进行封闭Alpha测试,但很快将开放公开Beta测试。如果您想提前体验,请创建一个免费帐户。
灵活且可扩展
如果您熟悉 Docker,可以使用 Kool 并完全掌控您的 Docker 配置。Kool 保证您不会受到厂商锁定,也不会失去控制权,这意味着您可以充分自定义和扩展您的专业 Docker 环境。您绝不会感到束手束脚。相反,使用 Kool 实际上会解放您的双手,让您专注于更有价值的工作,而不是把时间浪费在调整开发环境上。
开源
Kool 是开源软件,完全免费使用。欢迎您贡献代码、协助测试,或提出改进 Kool 的新方法。
如果你喜欢我们正在做的事情,请在 GitHub 上给我们点赞,以示对这个新开源项目的支持!
身经百战
Kool 由位于巴西的软件开发公司Firework Web赞助和维护。多年来,Firework 与数十个团队合作完成了数百个 Web 项目,积累了丰富的 Docker 和其他开发工具使用经验,并摸索出了搭建和管理本地 Docker 环境的正确方法。基于这些经验,Kool 项目应运而生。现在,Firework 准备与大家分享 Kool。
不妨一试
Kool 是一款出色的全新开发工具,它可以帮助您在本地环境中正确使用 Docker 容器。您将获得容器化 Web 应用的所有优势,而无需承担任何麻烦。如果您还没有尝试过Kool,不妨一试。
开发过程中未使用 Docker?
如果你还没有在开发环境中使用 Docker,这里有一篇很棒的文章,它列举了许多你应该切换到 Docker 的理由。
从本地开发到云端:使用容器轻松开发 Web 应用。


关于kool
Kool是一款命令行工具,它简化了现代软件开发环境的复杂性,使这些环境变得轻量级、快速且可复现。它降低了本地环境中Docker容器的复杂性和学习难度,并提供了一个简化的界面,用于使用Kubernetes将测试环境和生产环境部署到云端。
Kool可以轻松快速地搭建并运行您的本地开发环境,让您有更多时间构建出色的应用程序。时机成熟后,您可以使用 Kool.dev Cloud 将您的作品部署到云端,与全世界分享!
Kool适用于个人开发者和各种规模的团队。它提供了一种轻松便捷的方式来处理 Docker 基础知识,让开发者能够立即开始使用容器进行开发,同时确保不会失去对更专业 Docker 环境的控制。
了解更多信息,请访问 kool.dev。
安装
要求:Kool 由…提供支持
文章来源:https://dev.to/kooldev/use-kool-to-dockerize-your-local-development-environment-the-right-way-18gl