Docker for Microservice app

I’m working on a new microservice based server.
For the purpose of simplifying our daily work, I though of using multiple docker containers that each one runs a different micro service.
We’re developing on Windows but the code will eventually run on Linux.

What would be the best approach?
(1) Each build, copy the target files to the relevant container?
(2) Share my source code with the containers and build/run in each container?
(3) Share my target files with each container?
(4) Other?

  • docker-compose/boot2docker use in Ubuntu
  • Can I connect to remote DB server from inside docker container?
  • Dockerfile Build Error
  • container stopped being able to connect database container on same machine
  • Marathon constraints for mutually exclusive docker containers
  • How to use yml file generated by anisible-container
  • Thanks

  • Shell script: Remove hello world docker container without knowing ID
  • Dockerfile with tomcat + mysql + filesystem app
  • Seeding a database using Docker Mysql COPY fails
  • Issues with putting dockerized Postgres OLTP database in read only
  • Docker: container can't find domain on private network
  • Get the host name from within the docker container from Python program
  • One Solution collect form web for “Docker for Microservice app”

    • In your development environment you could volume mount the binaries directory of your IDE. This would decrease the feedback loop for your local development environment. You would not have to rebuild the image each time, just restarting the container. This even works out for Windows under boot2docker.

    • After commiting your code to the source control system you should apply a release pipeline/stream/train for building the related docker image put a build number on it. Tag and release it into your private docker registry.

    • Skript all environments to safely switch to the latest docker image. Test the setup and when errors occurs then revert to former docker container. If its safe then roll it out on the next stage.

    • Roll out database changes by utility containers that run database clients.

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