background preloader

Provisioning

Facebook Twitter

Of Containers, Dockers, Rockets, and Daemons. I have started using Docker soon after it showed up.

Of Containers, Dockers, Rockets, and Daemons

I’ve been running dockerized services in production since well before 1.0. I am still using it quite extensively and recommend it to people. I have also recently decided to run my next project on FreeBSD. I’ve been playing with this system for quite a while. It purportedly performs better than Linux — definitely feels faster and more reliable. There’s just one “but”: Docker runs only on Linux, and I got used to containerized services. At this very moment, CoreOS (any association with Oreo cookies purely accidental) announced that they are releasing their own container runtime, named Rocket. While I wouldn’t call Docker fundamentally flawed, the announcement, and my later exploration of Rocket, has shed some light on problems with Docker that I was vaguely aware of, but couldn’t really put my finger on:

Announcing Docker Machine, Swarm, and Compose for Orchestrating Distributed Apps. As users start exploring Docker and Docker Hub, they typically start by Dockerizing some apps, incorporating Docker into their build-test pipeline, creating a Docker-based development environment, or trying out one of the other half-dozen common use cases.

Announcing Docker Machine, Swarm, and Compose for Orchestrating Distributed Apps

In these use cases and others, we’ve heard from many community members about how Docker has sped up development-to-deploy cycle times and eliminated the friction of moving apps from laptops to data centers, or from one cloud to another. Da capo After getting their feet wet with simple, single-container apps, we see many users start to employ Docker as a platform for more complex, distributed applications (a.k.a., cloud native, microservices architecture, twelve-factor apps), or for apps composed of multiple containers, typically running across multiple hosts. Users’ motivations for exploring distributed apps vary, but some common themes are emerging. Users find them appealing because they are: Container42 · Stuff I find interesting. Docker-desktop and ubuntu 12.04. (Update 26/11/13) Docker 0.6.5 has a breaking change with ports and exposed.

Docker-desktop and ubuntu 12.04

It does not provide a port number when you run sudo docker port $CONTAINER_ID 22 anymore. You can assign the port you expose when you do the docker run command as shown below. Eight Docker Development Patterns. mCloud. Container SolutionsWrapping Desktop Apps with Docker - Container Solutions. Fast, isolated development environments using Docker. Documentation. Cluster-wide Java/Scala application deployments with Docker, Chef and Amazon OpsWorks. Docker is great for running isolated containers on a single node.

Cluster-wide Java/Scala application deployments with Docker, Chef and Amazon OpsWorks

However, most software systems run on multiple nodes, so in addition to Docker, we need some way of specifying which containers should run on which nodes. The specific problem that I want to solve is the following: I have two Scala daemons, which I want to run on multiple nodes (depending on configuration, each node can run one of the daemons, or both). I want a reasonably fast way to deploy modified binaries across the cluster. I also don’t want to spend too much time setting up the servers. (My Gentoo days are long over.) The end solution to which I arrived involves Docker, OpsWorks, Chef and Vagrant. By the way – how would you solve the above problem? First I need to be able to package and upload the binaries. Is based on a trusted ubuntu+java7 image – no need to install java on the servers! The full Dockerfile is available here: If you take a look at the Dockerfile, you may notice that there are two jars.

Darryl Gove's blog. Let's talk about unsigned integers.

Darryl Gove's blog

These can be tricky because they wrap-around from big to small. Signed integers wrap-around from positive to negative. Let's look at an example. Suppose I want to do something for all iterations of a loop except for the last OFFSET of them. I could write something like: Gaudi - a simple orchestrator using Docker containers. Is Simple IT Automation. Get Started with Project Atomic — Project Atomic. Download an Atomic Host image Atomic Host images are provided by the Fedora and the CentOS Projects.

Get Started with Project Atomic — Project Atomic

The CentOS Atomic SIG offers a rebuild of Red Hat Enterprise Linux Atomic Host, considered a stable target. The Fedora Cloud SIG offers a new Fedora product Atomic Cloud Image. The "QCOW2" image works on Linux KVM virtualization, for example it runs on RDO (OpenStack), oVirt, virt-manager and the "Boxes" virtual machine application available in Fedora and CentOS 7. Both the Fedora and CentOS Atomic Host images are also available in Vagrant format, for use with the VirtualBox and libvirt/KVM providers, as well as in AMI format for running in EC2, and as ISO images for bare-metal installations.

CentOS Atomic Host Fedora Atomic Host Set Up the Virtual Machine Please follow the Quick Start Guide to create a new virtual machine with Atomic and set up more disk space for your containers. Configure an Atomic cluster Documentation Still have questions? Done? Programming. I was recently invited to give a talk at Gocon, a fantastic Go conference held semi-annually in Tokyo, Japan.

Programming

Gocon 2014 was an entirely community-run one day event combining training and an afternoon of presentations surrounding the theme of Go in production. The following is the text of my presentation. The original text was structured to force me to speak slowly and clearly, so I have taken the liberty of editing it slightly to be more readable. I want to thank Bill Kennedy, Minux Ma, and especially Josh Bleecher Snyder, for their assistance in preparing this talk. Good afternoon. My name is David. I am delighted to be here at Gocon today. I want to begin my talk with a question. Why are people choosing to use Go ? When people talk about their decision to learn Go, or use it in their product, they have a variety of answers, but there always three that are at the top of their list These are the top three.

Docker Misconceptions. Docker has hit the systems scene with great fanfare.

Docker Misconceptions

It's a very exciting advancement for systems, but there are some key misunderstandings around it. Narrowly focused advice! My discussion of Docker is nearly entirely limited to multi-host setups of mission-critical systems (web services primarily). Please keep that in mind since my coverage and advice will probably not apply to the many other scenarios you can use Docker for. Background on Docker This post assumes a basic understanding of what Docker is and how it works generally. Using Invoker on Linux.