High Level Linux Container APIs

    DotCloud has developed and made publicly available the Docker system - high-level interfaces for accessing Linux containers (LXC). This is an ideal tool for working with containers on any x64 server, for deploying large-scale web installations, database clusters, private PaaS, etc.

    LXC is an operating system-level virtualization system for running multiple isolated Linux instances on a single computer. LXC does not use virtual machines, but creates a virtual environment with its own process space and network stack. All LXC instances use the same OS kernel instance.

    Key Docker Features
    • File System Isolation: Each process container runs on a completely separate root file system.
    • Resource Isolation: System resources like CPU and memory can be allocated differently for each process container using cgroups
    • Network isolation: each process container operates in its own namespace, with a virtual interface and its own IP address
    • Copy on write: root file systems are created by copy on write, which allows you to deploy containers extremely quickly, without using extra memory and disk space
    • Logging: standard threads (stdout / stderr / stdin) of each process container are registered and saved for later analysis
    • Change management: changes made to the file system of one container can be applied to a new image and reused for other containers. No longer need templates and manual configuration.
    • Interactive console: Docker can connect pseudo-tty and standard data entry for any container

    Docker is built on the AUFS file system , which has a copy-on-write function, and the Go programming language .

    Instructions for installing Docker under Ubuntu
    Instructions for installing Docker for Windows (you need Virtualbox, Vagrant and Git, Ubuntu is installed on the virtual machine)
    Code on Github

    Also popular now: