Hacker News new | past | comments | ask | show | jobs | submit login
RailCar: Rust Implementation of the Open Containers (github.com/oracle)
68 points by Ideabile on June 24, 2019 | hide | past | favorite | 7 comments



Is this project still active? There hasn't been much activity on the Oracle blog, except for the release announcement.


The most recent commit was in Sept' 2018, and the primary author of RailCar is Vish who jumped to Heroku (SalesForce) in Nov' 2018. I'd speculate that this is related.. either this was a pet project for Vish and died when he left, or he left because the project was frozen. Either way, the project seems dead.


Nitpick: The installation instructions aren't very friendly for someone who hasn't installed Rust before, as it asks them to install 2 different toolchains even though they presumably only need one, and then install a separate musl target for each toolchain even if they don't want to use musl. Also `rustup target install` isn't a documented subcommand, perhaps you meant `rustup target add`?


They should obviously dockerize it. :D


Can someone explain what is different between containers and Open Containers, and why it matters?


It is a specification for the various parts of what makes up a container. All container runtimes and images out there implement the specification so there's portability amongst tools: https://www.opencontainers.org

https://github.com/opencontainers/runtime-spec/blob/master/i... https://github.com/opencontainers/image-spec/blob/master/imp...


TL;DR: OpenContainers are a specification for containers.

There have been a few iterations of the container concept. First there were things like Solaris Zones and FreeBSD Jails. Then Google added CGroups to the Linux kernel, which are a basic way of grouping processes together for resource accounting and limiting purposes. Then all of the OS resources in Linux got namespaced (so you can't see things outside of your namespace, like devices, mounted filesystems, process ids, etc). LXC was the first container implementation using cgroups and namespaces in the mainline Linux kernel. Docker initially built on top of this, but eventually made their own implementation (libcontainer). Then there were some competing implementations (rkt, maybe others I'm forgetting), and so everyone decided to sit down and agree on a common spec, and so the Open Containers Initiative was born. This was mainly to ensure that no single company had complete control over container designs, and that containers would be interoperable between runtime implementations. Docker built runC, a runtime that complies with the OCI spec, and then rebuilt the rest of their application around it. Basically any new container implementation is likely to conform to the OCI spec.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: