Contents
- docker-experience-hot-reloading
- docker-experience-debuggers
- docker-experience-tests
- docker-experience-continuous-integration
Roadmap info from roadmap website
Developer Experience
So far we have only discussed using docker for deploying applications. However, docker is also a great tool for developing applications. There are a few different recommendations that you can adopt to improve your development experience.
-
Use
docker-compose
in your application for ease of development. - Use bind mounts to mount the code from your local into the container filesystem to avoid having to rebuild the container image with every single change.
- For auto-reloading, you can use tools like vite for client side, nodemon for nodejs or air for golang.
- You should also provide a way to debug your applications. For example, look into delve for Go, enable debugging in node.js using βinspect flag etc. It doesnβt matter what you use, but the point is that you should have a way to debug your application running inside the container.
- You should have a way to run tests inside the container. For example, you could have a separate docker-compose file for running tests.
- You should have a CI pipeline for production images.
- Ephemeral environment for each pull request