GithubHelp home page GithubHelp logo

alexxnica / atomic-system-containers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectatomic/atomic-system-containers

0.0 0.0 0.0 280 KB

Collection of system containers images

Shell 50.54% Python 49.46%

atomic-system-containers's Introduction

System Containers

As part of our effort to reduce the number of packages that are shipped with the Atomic Host image, we faced the problem of how to containerize services that are needed to be run before a container runtime, like the upstream docker daemon, is running. The result: system containers: a way to run containers in production using read only images.

A system container is a container that is executed out of an systemd unit file early in boot, using runc. The specified IMAGE must be a system image already fetched. If it is not already present, atomic will attempt to fetch it assuming it is an oci image. Installing a system container consists of checking it the image by default under /var/lib/containers/atomic/ and generating the configuration files for runc and systemd. OSTree and runc are required for this feature to be available.

System containers use different technologies:

  • We use the atomic tool to install system containers.
  • Labels can influence how the atomic tool uses a system container
  • Specific files are required to be part of a valid system image
  • For storage system containers do not need to use COW File systems, since they are in production. We default to using OSTree for storage of the container images.
  • The atomic tool does not use upstream docker to pull the container images, instead we use the Skopeo tool to pull images from a container registry.
  • When you atomic install a system container the tool will look for a systemd unit file template in /exports directory and will create a systemd unit file to run the container on the host.
  • The unit files uses runc to create and run the containers.
  • systemd manages the lifecycle of the container.

To use system containers you must have Atomic CLI version 1.12 or later and the ostree utility installed.

For more information on system containers see:

atomic-system-containers's People

Contributors

ashcrow avatar baude avatar clcollins avatar dav1x avatar edsantiago avatar gbraad avatar giuseppe avatar jasonbrooks avatar jlebon avatar rhatdan avatar rochaporto avatar runcom avatar tomastomecek avatar vinzenz avatar yuqi-zhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.