I think it's a familiar situation when you decide to create a service, write the initial code, package it into a container, launch it in or , and everything works. However, you need to change the code because you plan to actively develop, modify files, add new dependencies, and so on. Manually building or synchronizing files each time is time-consuming. Fortunately, the world is not standing still, and there are already several tools that can help you solve this task. Docker Kubernetes Below, I'll tell you about some of them with examples and code. / configurations are set up for Kubernetes. The simplest way to init a local cluster is using . Go to settings and check the ' ' option, or you can use . Skaffold Tilt Docker Desktop Enable Kubernetes Minikube Docker compose watch Perhaps it's worth starting with the simplest tool and configuration - , which became available starting from . Docker Compose Watch 2.22v Watch can be used to track changes in files and perform one of three actions: - synchronizes changes in the file with the file in the container. Sync - initiates the image-building process and replaces the already running container with a new one. Rebuild - synchronizes changes and restarts the container. Sync + Restart Example: In the example above, you can see a simple Docker Compose configuration, but we are interested in the key. Here, it is specified that if the file changes, a should be triggered to update dependencies and restart the process. However, if something else in the folder changes, the hronization process is initiated. watch web/package.json rebuild web sync The command inside the container will detect these changes and update the service. npm start Running docker compose in watch mode is straightforward, you just need to execute the following command: docker compose watch This simple example demonstrates how easily you can launch a container and synchronize changes on the fly. For more detailed information about this feature, please refer to the official website https://docs.docker.com/compose/file-watch/ Skaffold Next in line is Skaffold, an excellent tool that I've been using for the past two years. It works reliably, has quite extensive functionality, but for the purposes of this article, let's focus on the command. This command automatically tracks changes and synchronizes them in a Kubernetes pod. skaffold dev Example: In the example above, you can see a simple configuration where the path to the Dockerfile and the path to the k8s manifest are specified. In the config, the type chosen is , indicating that we will specify the directory path to synchronize ourselves. In this case, we synchronize changes in the local folder to the folder in the container. sync manual web /app To run in development mode (where changes are tracked and synchronized), execute the following command: skaffold run -f deploy/skaffold.yaml --port-forward=pods These are not all the capabilities of Skaffold; it's a very powerful tool that can be used for both local development and production. For more detailed information, you can read the official documentation at https://skaffold.dev/docs/ Tilt The last but not least tool is , with which I have almost no experience, but and they , which sounds promising. Tilt it has more than 7k stars on github joined Docker Example: This tool has its own file format, and for syntax highlighting in IntelliJ IDEA, you can use this repository: , in the screenshot, you can see three functions: 1. - specify the path to the k8s manifest. 2. - provide the data for the build, and an interesting part is , where you specify what to synchronize and the command to run if a file changes. 3. - here we specify k8s resource name and the port we want to expose. https://github.com/tilt-dev/tiltfile.tmbundle k8s_yaml docker_build live_update k8s_resource Running it is quite simple: tilt up -f deploy/Tiltfile Like with other tools, this is just a simple example of using Tilt, which is capable of much more. You can read more details on the official website: https://docs.tilt.dev/ If you know of other tools that you use or have used, please share in the comments. I'll try to update the post with examples of other tools as much as possible. You can find all the source code here: https://github.com/idsulik/local-dev P.S. If you need a separate utility that tracks changes and synchronizes them into a container pod, I recommend ( ). It can be used in conjunction with Skaffold and more. skasync https://github.com/konrin/skasync Also published . here