Try

Or browse

    DockerTools

    Very basic CoreOS

    Very basic CoreOS

    Exploring CoreOS on DigitalOcean: From setting up a single instance with familiar tools to configuring a powerful container-oriented OS.

    Suggest editsRSSFollow on Google

    On Friday DigitalOcean announced the availability↗ of CoreOS↗ on their platform.

    CoreOS is a very optimized Operating System which is designed to just run containers. While it has some very powerful clustering elements made up of ….

    …. I decided my first step should be to do the opposite of every blog post I have read about CoreOS and run a single instance with the tools I am used to using.

    The first thing you will notice about CoreOS when you first access it is that it is very stripped down and the bulk of the operating system is installed on read-only partitions, this is due to the way CoreOS provide updates↗, rather than providing patches to packages they deploy an updated version of the entire operating system in one go.

    This philosophy makes things interesting when it comes to installing Fig, nsenter & docker-enter. As you can see from the following, we install all of the tools into a read / write partition in the core users home directory;

    Very basic CoreOS 1/3
    mkdir -p tools/bin
    docker run - rm jpetazzo/nsenter cat /nsenter > tools/bin/nsenter
    curl -L https://raw.githubusercontent.com/jpetazzo/nsenter/master/docker-enter > tools/bin/docker-enter
    curl -L https://github.com/docker/fig/releases/download/0.5.2/linux > tools/bin/fig
    chmod +x tools/bin/*

    Once our basic toolset is installed we have to add the binaries to the system paths;

    Very basic CoreOS 2/3
    mv .bashrc .bashrc-original
    curl -L https://raw.githubusercontent.com/russmckendrick/coreos/master/bashrc > ~/.bashrc
    sudo curl -L https://raw.githubusercontent.com/russmckendrick/coreos/master/bashrc > ~/.bashrc
    sudo ln -s /root/.bashrc /root/.bash_profile
    source ~/.bashrc

    and thats it, we can now use fig, nsenter and docker-enter as the “core” & “root” users.

    Next up is to add our NGINX proxy↗, rather than use fig for this I will use systemd;

    Very basic CoreOS 3/3
    sudo curl -o /etc/systemd/system/nginx-proxy.service https://raw.githubusercontent.com/russmckendrick/coreos/master/nginx-proxy.service
    sudo systemctl enable /etc/systemd/system/nginx-proxy.service
    sudo systemctl start nginx-proxy.service
    sudo systemctl status nginx-proxy.service

    and thats it, we have a stripped down Operating System which is geared to running just containers while maintaining a tool-set we know. However, as with everything cloud, this is a massive single point of failure. When I next post about CoreOS I will cover how to do it properly and create a cluster.

    Share

    Related terms: Agent SkillsAI Coding AssistantApplication Programming InterfaceClaude CodeCodexCommand-Line Interface

    Comments