Create and Run Applications in Linux Containers

Create your application using Docker containers. Deploy and manage containerized applications on a proven, trusted platform.

Project Atomic introduces Atomic App — an implementation of the Nulecule specification, which lets you manage multi-container applications and orchestration metadata as easily as you manage RPMs.

Learn more!

Atomic App

With Atomic App, you can use existing containers as building blocks for your new application product or project.

Databases, web servers, and other common components are vital parts of applications and services. Utilizing existing containers to provide these core infrastructure components lets you focus more on building the stuff that matters and less time packaging and setting up the common plumbing required.

Learn more about Atomic App

Nulecule /NOO-le-kyul/ (noun)

Nulecule is a made-up word meaning "the mother of all atomic articles". Sounds like "molecule". But different.

Also a specification for applications composed from multiple containers. Check it out on Github below, or read through the Getting Started -guide if you want to know more.

Learn more about Nulecule

Atomic Host

Based on proven technology either from Red Hat Enterprise Linux or the CentOS and Fedora projects, Atomic Host is a lightweight, immutable platform, designed with the sole purpose of running containerized applications.

To balance the need between long-term stability and new features, we are providing different releases of Atomic Host for you to choose from.

Get Started

Community News

Using a Super Privileged Container to Troubleshoot Container Problems

One of the issues with containers built The Right Way ™ (e.g., minimal containers that only provide the application code) is figuring out what’s going on inside the container. If you ship just application code, you run the risk of turning your container into a proverbial black box. Atomic hosts can provide a one way view of all of the operations inside a container, if you can find the right tool. Rather than adding more tools to your application container, folks like Dan Walsh have been working on super privileged containers to manage the host, such as the Cockpit container.

I was recently introduced to Sysdig for inspecting running process and activity on a Linux system. It’s a fairly nifty tool that understands Docker containers, and the authors have made sure that sysdig can be run in a container. This made it very simple to install on my laptop and start investigating.

Read More »

Running a Containerized Cockpit UI from Cloud-init

Fedora 22’s Atomic Host dropped most of packages for the web-based server UI, cockpit, from its system tree in favor of a containerized deployment approach. Matt Micene blogged about running cockpit-in-a-container with systemd, but people have expressed interest in learning how to start this container automatically, with cloud-init.

cloud-init and cockpit

Referencing the sample cockpitws.service file from Matt’s post, and using cloud-init’s cloud-config-write-files functionality, I started out with this service file:

Read More »

Deploy Kubernetes with a Single Command Using Atomicapp

Kubernetes, the open source orchestration system for Docker containers, is a fast-moving project that can be somewhat complicated to install and configure, especially if you’re just getting started with it.

Fortunately, the project maintains some really well-done getting started guides, the simplest of which steps you through running Kubernetes, in Docker containers, on a single host.

The up-and-running part of the walkthrough amounts to issuing just three docker run commands:

# docker run --net=host -d /usr/local/bin/etcd --addr= --bind-addr= --data-dir=/var/etcd/data
# docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock /hyperkube kubelet --api_servers=http://localhost:8080 --v=2 --address= --enable_server --hostname_override= --config=/etc/kubernetes/manifests
# docker run -d --net=host --privileged /hyperkube proxy --master= --v=2

Now, this isn’t as simple as rattling off a single command from memory, but we can’t have everything…

…or can we?

Through the magic of a couple tools we’ve been working on here at Project Atomic, we can get up and running with the upstream kubernetes project’s containerized install method using a single command like this:

# atomic run jasonbrooks/kubernetes-atomicapp

Read More »

Why we don't let non-root users run Docker in CentOS, Fedora, or RHEL

I often get bug reports from users asking why can’t I use `docker` as a non root user, by default?

Docker has the ability to change the group ownership of the /run/docker.socket to have group permission of 660, with the group ownership the docker group. This would allow users added to the docker group to be able to run docker containers without having to execute sudo or su to become root. Sounds great…
Read More »

El-Deko - Why Containers Are Worth the Hype

Video above from Kubernetes 1.0 Launch event at OSCON

In the above video, I attempted to put Red Hat’s container efforts into a bit of context, especially with respect to our history of Linux platform development. Having now watched the above video (they forced me to watch!) I thought it would be good to expound on what I discussed in the video.

Admit it, you’ve read one of the umpteen millions of articles breathlessly talking about the new Docker/Kubernetes/Flannel/CoreOS/whatever hotness and thought to yourself, Wow, is this stuff overhyped. There is some truth to that knee-jerk reaction, and the buzzworthiness of all things container-related should give one pause - It’s turt^H^H^H^Hcontainers all the way down!

Read More »

» View older news

Ready to try Atomic?

Get Started