Bug Reference
JIRA-6664: https://issues.apache.org/jira/browse/CLOUDSTACK-6664
Branch
4.5 hopefully.
Introduction
Purpose
This is functional specification of feature "Support Docker as a hypervisor" which has Jira ID CS-6664. Docker hypervisor can spawn containers from Dockerfile, Docker image or Docker tar file.
References
Document History
Glossary
- Dockerfile: This textfile is read by Docker service to automate the steps you would otherwise perform manually to create an image.
- Docker registry: repository server for Docker images.
Feature Specifications
- running Docker containers as VMs in CloudStack
- remove SSVM + CPVM and also Secondary Storage & Primary Storage. Data will be store locally on Docker host.
- running Virtual Router as a Docker container
Use cases
A user want to use containers in CloudStack, LXC or Docker hypervisor can be used. For Docker, this can be done in several ways:
- run from a Docker image
- build from a Docker file
- run from a Docker tarfile
Architecture and Design description
cloud-plugin-hypervisor-docker
- DockerResource acts like a Docker driver, which provides provisioning commands (startContainer, stopContainer, restartContainer,...) from Agent Manager. It makes corresponding http requests to the Docker service running on HOST.
- DockerGuru fills container parameters for provisioning.
- DockerServerDiscoverer discovers and registers Docker HOST with the Agent Manager.
cloud-setup-agent starts Docker service in the background in the Docker host and sends register host request to the Agent Manager.
docker HTTP client implements http requests to the Docker service, using REST API v1.10
Web Services APIs
registerTemplate
- hypervisor: Docker
- format: choose from combo box
- from a Repository image
- from a Dockerfile
- from a Tarfile
- url:
- image name if Repository is chosen
- url if Dockerfile is chosen
- url if Tarfile is chosen
UI flow
1 Comment
Ron Wheeler
"4.5 hopefully." Did it make it?