Using Docker for local development replacing Vagrant

I know there are a ton of hits on this topic, and I have spend some time looking at them, but just can not make a good decision.

I work on a Windows machine, and use Vagrant for development. I start my server, edit my files in the mounted /vagrant directory, hit F5 and see my changes. When I am done developing I upload the code to my server.

  • What's a safe minimum disk size for a production Kubernetes node?
  • Kubernetes Kubelet doesn't have access to Docker
  • Way to increase Boot2Docker volume size or alternative to install docker images locally
  • No goals have been specified for this build.
  • asp.net mvc in container in an azure windows app service
  • Docker change published ports on live container
  • Problem is, I want to have the infrastructure of my server in “code” so a solution is docker with docker-compose. Now I do not know if there is a way to work with this like I work with Vagrant. It seems that I have to keep rebuilding my containers for for the changes to apply.

    I don’t know if I am doing something wrong, or is Docker really a product to use with ready to go code.

  • Windows Container networking: transparent network: Unable to curl container
  • Let's encrypt 502 bad gateway docker
  • Command works on bash but not on cron
  • Docker for Mac nginx example doesn't run
  • How to connect to a docker box running elasticsearch inside a vagrant guest os?
  • How to build a docker image within jenkins
  • One Solution collect form web for “Using Docker for local development replacing Vagrant”

    I want to have the infrastructure of my server in “code” so a solution is docker with docker-compose.
    It seems that I have to keep rebuilding my containers for for the changes to apply.

    As long as your docker-compose is mounting the host folder where your code is, you wouldn’t need to rebuild your container “for the changes to apply”: that container would see any code changes immediately, without having to restart it.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.