美文网首页
Docker学习路线12:开发者体验

Docker学习路线12:开发者体验

作者: 小万哥 | 来源:发表于2023-07-25 19:26 被阅读0次

<meta name="wolai" content="vk71DKbzZNGC7kmTUTnnmA1690370666641">

到目前为止,我们只讨论了使用Docker来部署应用程序。然而,Docker也是一个极好的用于开发应用程序的工具。可以采用一些不同的建议来改善开发体验。

  • 在应用程序中使用docker-compose以方便开发。
  • 使用绑定挂载将本地代码挂载到容器文件系统中,以避免每次更改都需要重新构建容器映像。
  • 对于自动重载,您可以使用像vite这样的工具用于客户端,nodemon用于nodejs,或者air用于golang。
  • 您还应该提供一种调试应用程序的方式。例如,使用delve进行Go调试,在node.js中启用调试使用--inspect标志等等。无论您使用什么,重点是您应该有一种方法来调试在容器内运行的应用程序。
  • 您应该有一种在容器内运行测试的方法。例如,您可以有一个单独的docker-compose文件来运行测试。
  • 您应该拥有一个用于生产映像的CI流水线。
  • 每个拉取请求都应该有一个临时环境。

Hot Reloading in Docker

即使我们启用了层缓存以加速镜像构建,我们也不想在每次代码更改时都重建容器镜像。相反,我们希望容器中的应用程序状态立即反映更改。我们可以通过绑定挂载和热重新加载工具的组合来实现这一点!

在 Docker 中使用调试器

为了使容器开发与本地开发具有竞争力,我们需要能够在容器内运行和附加调试器。

测试

我们希望在尽可能接近生产环境的情况下运行测试,因此最好在容器内部进行测试!

持续集成(CI)

持续集成是指在将代码推送到版本控制系统时自动执行某些操作(例如构建、测试等)的理念。

对于容器,我们可能需要执行以下几个操作:

  • 构建容器镜像
  • 执行测试
  • 扫描容器镜像的漏洞
  • 给镜像打标签,附加有用的元数据
  • 推送到容器注册表

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号 Let us Coding牛客知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

到目前为止,我们只讨论了使用Docker来部署应用程序。然而,Docker也是一个极好的用于开发应用程序的工具。可以采用一些不同的建议来改善开发体验。

  • 在应用程序中使用docker-compose以方便开发。
  • 使用绑定挂载将本地代码挂载到容器文件系统中,以避免每次更改都需要重新构建容器映像。
  • 对于自动重载,你可以使用像vite这样的工具用于客户端,nodemon用于nodejs,或者air用于golang。
  • 你还应该提供一种调试应用程序的方式。例如,使用delve进行Go调试,在node.js中启用调试使用--inspect标志等等。无论你使用什么,重点是你应该有一种方法来调试在容器内运行的应用程序。
  • 你应该有一种在容器内运行测试的方法。例如,你可以有一个单独的docker-compose文件来运行测试。
  • 你应该拥有一个用于生产映像的CI流水线。
  • 每个拉取请求都应该有一个临时环境。

Hot Reloading in Docker

即使我们启用了层缓存以加速镜像构建,我们也不想在每次代码更改时都重建容器镜像。相反,我们希望容器中的应用程序状态立即反映更改。我们可以通过绑定挂载和热重新加载工具的组合来实现这一点!

在 Docker 中使用调试器

为了使容器开发与本地开发具有竞争力,我们需要能够在容器内运行和附加调试器。

测试

我们希望在尽可能接近生产环境的情况下运行测试,因此最好在容器内部进行测试!

持续集成(CI)

持续集成是指在将代码推送到版本控制系统时自动执行某些操作(例如构建、测试等)的理念。

对于容器,我们可能需要执行以下几个操作:

  • 构建容器镜像
  • 执行测试
  • 扫描容器镜像的漏洞
  • 给镜像打标签,附加有用的元数据
  • 推送到容器注册表

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号 Let us Coding牛客知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

相关文章

  • Spring Cloud学习路线

    Spring Cloud学习路线 学习本学习路线学习完,大家将会对微服务、Spring Cloud、Docker、...

  • React-- 开篇路线

    React 学习路线图 ,一个 ios App 开发者的前端之路 从前端小白,打卡前行,并写下自己的学习体验

  • 利用docker快速搭建Spark集群

    适用人群 正在使用spark的开发者 正在学习docker或者spark的开发者 准备工作 安装docker (可...

  • Docker初体验

    Docker初体验 ​ Docker 是一个开源的基于 LXC 的高级应用容器引擎,让开发者可以打包他们的应用...

  • docker学习笔记路线

    简述Docker镜像、容器、仓库概念 http://www.cnblogs.com/zhangmingcheng/...

  • web开发学习路线图

    各类程序员学习路线图 web前端开发学习路径图 2016/2017 Web 开发者路线图 怎么学习前端开发?求推荐...

  • Docker学习笔记(一)Docker初体验

    Docker学习笔记(一)Docker初体验 什么是Docker Docker是一个虚拟环境容器,可以将开发环境、...

  • web前端资料

    学习路线 web前端工程师成长之知识汇总 2017Web开发者成长路线 Github很重要 CSS 用CSS实现垂...

  • Docker Desktop搭建k8s集群体验

    Docker Desktop搭建k8s集群体验 在前面学习Docker的时候,我们下载过Docker Deskto...

  • 1.3Docker镜像

    之前学习了Docker的安装配置等,今天来体验下镜像部分,首先Docker的镜像官方仓库是Docker Hub,上...

网友评论

      本文标题:Docker学习路线12:开发者体验

      本文链接:https://www.haomeiwen.com/subject/dnuhpdtx.html