Docker design concept

From SME Server
Revision as of 08:12, 10 September 2014 by RequestedDeletion (talk | contribs)
Jump to navigationJump to search
Warning.png Work in Progress:
This page is a Work in Progress. The contents off this page may be in flux, please have a look at this page history the to see list of changes.


Docker design conceptv0.1.png

Purpose

This page holds a conceptual design for Docker on SME Server. See more details on Docker here


Overview

Design principles

  • This design concept only addresses demonized containers and not interactive containers.
  • This design only addresses containers that hold application(s) for end users. Not for sys admins.
  • Transparent 'Click to run' user experience
  • No integration with Server Manager (Yet).
  • Full integration in SME Sever templating system and SME Server db databases
  • Pre-build images are not available yet
  • No build-in pre-checks regarding starting a container and server capacity
  • The design is intended for a single SME Server host, not a cluster or a farm.
  • May not effect or compromise default SME Server functionality, stability and security


Options

This document does not address any integration with Server Manager. All input is to be considered a flat file or manual db entries.

A. Container Options

Start

The docker client can be invoked with various flags and arguments. These flags and arguments are past to the docker daemon to construct the docker container and run it. To see all docker client command execute:

docker

To see all available arguments, execute

docker -h


B. Docker options

  • TBA

C. Image options

  • Linked containers


SME Databases

Container options

Syntax:

db docker_containers


Image options

Syntax:

db docker_images

Key:

docker_images [name]=service

Types:

status [enabled/disabled]
TCPPort [xxxxx,xxxx]
UDPPort [xxxx.xxxx]
access [private/public]
network [bridge/host]
mount [path,path]
linked [repo:image]
LinkPriority [n]


SME Template/fragments

  • TBA

Start/Stop events

  • Manual on console
  • Time based by cron
  • Triggered by an event