<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 29 Mar 2016, at 00:42, Santiago Ignacio Poli <<a href="mailto:santiagopoli@gmail.com" class="">santiagopoli@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><span style="font-size:12.8px" class="">I thought the same thing when I was considering using Erlang in Docker, and I think it won't be possible to do hot code swapping with this approach. The only solution is to mount the code as an external volume and hot swapping it. In that case you will need to have an image for your environment and another one for your code.</span><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">2016-03-28 16:31 GMT-03:00 Son Tran-Nguyen <span dir="ltr" class=""><<a href="mailto:son@sntran.com" target="_blank" class="">son@sntran.com</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div style="font-family:tahoma,sans-serif;font-size:small;color:#3366ff" class="">Having tried Docker with Erlang, I have a question about hot code swapping. </div><div style="font-family:tahoma,sans-serif;font-size:small;color:#3366ff" class="">Does using Docker get rid of that benefit? It seems to me that every Docker</div><div style="font-family:tahoma,sans-serif;font-size:small;color:#3366ff" class="">image will be a new release.</div></div></blockquote></div></div></div></div></blockquote></div><br class=""><div class=""><br class=""></div><div class="">My workflow: in local development I sit and write code in a “make shell", until it mostly works. Turning thoughts into modules, when they get more mature, I start using make:all([load]) together with an Emakefile - quick and low ceremony. Once I have a “feature” - I commit, my CI automatically builds a release, creates and pushes a new docker image to a registry - part of the CI also pings the docker API on the integration environment to deploy and bounce the new services individually which are each hidden behind a HTTP software load balancer. The few volume mounts are for persistent data in those services, but mostly they are stateless and rely on Kafka topics to replenish their state or some other SOR.</div></body></html>