Last week, the CentOS Atomic SIG released an updated version of CentOS Atomic Host (tree version 7.20161006), which offers users the option of substituting the host’s default docker 1.10 container engine with a more recent, docker 1.12-based version, provided via the docker-latest package.

CentOS Atomic Host is available as a VirtualBox or libvirt-formatted Vagrant box; or as an installable ISO, qcow2, or Amazon Machine image. Check out the CentOS wiki for download links and installation instructions, or read on to learn more about what’s new in this release.

CentOS Atomic Host includes these core component versions:

  • atomic-1.10.5-7.el7.x86_64
  • cloud-init-0.7.5-10.el7.centos.1.x86_64
  • docker-1.10.3-46.el7.centos.14.x86_64
  • etcd-2.3.7-4.el7.x86_64
  • flannel-0.5.3-9.el7.x86_64
  • kernel-3.10.0-327.36.1.el7.x86_64
  • kubernetes-1.2.0-0.13.gitec7364b.el7.x86_64
  • ostree-2016.7-2.atomic.el7.x86_64


You can switch to the alternate docker version by running:

# systemctl disable docker --now
# systemctl enable docker-latest --now
# sed -i '/DOCKERBINARY/s/^#//g' /etc/sysconfig/docker

You cannot run both docker and docker-latest at the same time on the same system.

After enabling docker-latest on a trio of CentOS Atomic hosts, I thought I’d try out one of the major docker 1.12 features, swarm.

# docker swarm init --advertise-addr
Swarm initialized: current node (e4w8o2f842vgn5yl77koi88m6) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-5db4knvzzljlkmpyzgqf58x2blzim0nn8r63qvzp5r14fs22m2-3mkjppcdeenqlcxgcudra98rl \

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

I ran the command provided on two additional CentOS Atomic hosts on which I’d also enabled docker-latest, and started up hello world service recommended in the swarm docs:

# docker service create --replicas 3 --name helloworld alpine ping

# docker service inspect --pretty helloworld
ID:     2ysb3w0v5c80fc01mibxpa9un
Name:       helloworld
Mode:       Replicated
 Replicas:  3
 Parallelism:   1
 On failure:    pause
 Image:     alpine
 Args:      ping

I’m more familiar with kubernetes than with swarm, so I’m interested to hear about your own docker 1.12 use cases and how you fare with them on CentOS Atomic.