a new approach to shipping software

in ComputerCraft

What is it?

  • Docker inspired
  • Virtualization plaftorm
  • Sandbox

Motivation

  • Development Enviroments
  • Portability
  • Standardization

The Problem

  • Development enviroments are complex

  • Version Dependencies

  • Different Operating Systems

  •  

The Solution

Containers

What's a Container?

  • A contained enviroment
  • Contains:
    • software
    • configuration files
    • information
    • etc

How does ccDocker use them?

  • Version Controls Them
  • Builds a container of an image
  • Containers can mount others
  • Inter-Container-Communication

What's an Image?

A not modifiable "container". Used as a base for other containers and images.

How is an Container made?

Intoducing the ccDockerfile

# Example CCDockerFile
FROM tardix/chameleon:latest
ADD myfile.txt
ADD catmyfile.lua
ENTRYPOINT catmyfile.lua

Why do devs care?

Build once ... run anywhere

  • All dependencies are shipped as is
  • Restoreable container snapshots
  • Run each app in a container, use ICC
  • Automate anything within it.
  • Reduce/eliminate compatability issues
  • VM without the overhead of a VM

Why do devops care?

  • Configure once... run anywhere
    • Support segregation of duties.
    • Negate performance loss that'd come of an entire VM.
    • Improve speed of CI usage.

How is ccDocker so light?

  • Uses lua 5.1 function enviroments to setup a sandbox
  • Runs code natively into the sandbox.

Basics of the ccDocker system

  • Container Platform
  • ccDocker "Hub"

The Hub

  • Community storage of images
  • Powers FROM in CCDockerfile
  • Version Controlled
  • Access Control
  • ... FREE

Want to learn more?

I'm always on

https://gitter.im/TARDIX/Dev

http://bit.ly/ccdocker

ccDocker

By Jared Allard

ccDocker

Docker like software for CC

  • 909