Docker design concept
From SME Server
Revision as of 08:41, 10 September 2014 by RequestedDeletion (talk | contribs)
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 [name]
Key:
docker_containers [name]=service
Types:
status [enabled/disabled] TCPPort [n,n] UDPPort [n,n] PortMapping [native/custom] PortMappingPorts [n:n,n:n] access [private/public] network [bridge/host] MountPath [path,path] Interlinked [alias] InterLinkPriority [n] MaxMemory [n] SubDomain [enabled/disabled] SubDomainName [name] WebAlias [name] DataMount [container/host] DataMountWrite [yes/no] DataMountPath [path]
Image options
Syntax:
db docker_images
Key:
docker_images [name]=service
SME Template/fragments
- TBA
Start/Stop events
- Manual on console
- Time based by cron
- Triggered by an event