<p>I am trying to understand how development is done efficiently with dockerized applications, specifically on Kubernetes. I am struggling to find the proper way to go about live editing containers. </p>

<p>In the past with Docker, I would just use something like Nodemon to watch for files to change locally and then when I had the app finished, I would dockerize it and deploy. With Kubernetes (minikube) my first impression is that I'm supposed to rebuild the container with each edit. Surely this cannot be the way people develop on here - what am I missing? Am I supposed to edit locally and then dockerize->k8s deploy? That doesnt seem right. </p>

<p>I am looking for a way to sync all my local changes to a docker container which then reboots the kubernetes pod with the new changes, so I can read from the logs during development. If this is odd, please recommend me a superior way.</p>

<p>Thanks</p>

<p>Kubernetes is a container orchestration tool. It's not a development platform. It's designed to ease the deployment of hundreds of containers, and deal with lifecycle/networking/storage issues. </p>

<p>If you're developing your application, you really don't need kubernetes/minikube at the moment. My suggested workflow would be:</p>

<ul>
<li>Develop your application in a local docker container. Iterate as you go until you're happy.</li>
<li>Create a snapshot release, tag the docker image and push it to a repo</li>
<li>Then deploy it.</li>
<li>When you need to update, apply a new tag.</li>
</ul>

<p>The benefit of using Docker is that it will deploy exactly the same on your local laptop, as well as to a production k8s cluster, so once you've arrived at the stage where you're ready to tag/push images, you can be assured the deployment process will be exactly the same.</p>

<p>Minikube isn't for local development, it's for people to test out kubernetes locally, and possibly develop kubernetes itself, it's not designed as a vagrant alternative.</p>
