<div dir="ltr"><div><div><div>In version-control-tools (hosts code for <a href="http://hg.mozilla.org">hg.mozilla.org</a>, <a href="http://reviewboard.mozilla.org">reviewboard.mozilla.org</a>, autoland), I'm using Docker in a somewhat special manner.<br><br></div>First, I'm not a huge fan of Dockerfiles. It requires me to re-solve configuration management. The whole caching and security model (start with a base OS and do stuff) doesn't jive with me. I talked a bit more about this at <a href="http://gregoryszorc.com/blog/2015/04/17/my-current-thoughts-on-system-administration/">http://gregoryszorc.com/blog/2015/04/17/my-current-thoughts-on-system-administration/</a> and <a href="http://gregoryszorc.com/blog/2014/10/13/deterministic-and-minimal-docker-images/">http://gregoryszorc.com/blog/2014/10/13/deterministic-and-minimal-docker-images/</a>.<br><br></div>Anyway, in version-control-tools, we create Docker images by effectively mounting the source directory inside a container and then running Ansible to move files into the container proper. The produced images feel like production-quality images, but they can also quack like development environments. A beneficial side-effect of bypassing Dockerfiles for Docker image building is that I can use a tool like Packer to create EC2 AMIs from the same Ansible configurations. I can also run the Ansible playbooks on machines already running in production. This enables me to leverage Docker locally without being wedded to adopting it in production. (I'm still not convinced Docker is production ready.) i.e. I'm well positioned for a transition to Docker in the future, but I'm not letting Docker dictate how I do host management today.<br><br></div>(I should be in the YVR office Monday if you want to chat IRL.)<br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 24, 2015 at 10:32 AM, Andy McKay <span dir="ltr"><<a href="mailto:amckay@mozilla.com" target="_blank">amckay@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Currently we’ve been using docker for deployment and we are thinking of using docker for deployment (probably not for production instances yet).<br>
<br>
For development we have everything in the container except the source. We mount the source from local volumes, this allows developers to use local tools etc.<br>
<br>
I’m thinking for deployment we want to have the source inside the container so it’s completely self contained. Each release of the software is then completely contained in the container image that was built. To move to different builds its a matter of just moving to a different container.<br>
<br>
That feels like we’ve got two different containerization strategies for the same project.<br>
<br>
Are we doing this right?<br>
<br>
Are there any libraries anyone would recommend for doing that easily, it feels like we need to manage our Dockerfile and docker-compose files to do this.<br>
_______________________________________________<br>
Dev-docker mailing list<br>
<a href="mailto:Dev-docker@mozilla.org">Dev-docker@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/dev-docker" target="_blank">https://mail.mozilla.org/listinfo/dev-docker</a><br>
</blockquote></div><br></div>