Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux. See also http://en.wikipedia.org/wiki/Docker_%28software%29
Using the new Web-Interface “Docker at ProfitBricks” you can easily deploy Docker containers and configure Docker functionality on the ProfitBricks IaaS platform. The Web interface provides an easy-to-use integration with the official Docker registry. https://registry.hub.docker.com/
Although the Docker at ProfitBricks Web-Interface simplifies the use of Docker, it is essential to have a basic knowledge of Docker technology and the networking capabilities that it provides. Basic LINUX System administrator skills are also a prerequisite.
General Steps for creating a Docker Container
1. Create a virtual datacenter
2. Create a Docker host
3. Create and run a Docker container
The Docker at ProfitBricks Web interface provides a step-by-step instruction that will help you to easily create your first Docker container.
If you are an existing customer, you can login directly with your ProfitBricks login details at the link below. If not, you can request access to our Docker Early Access program here: https://www.profitbricks.com/docker
STEP 1: Create your first virtual Datacenter (VDC)
• Open your browser and go to https://docker.profitbricks.com/overview
• Enter your login details
• Click + in the section Select VDCs
• Click + Add VDC
• Specify a name for the new VDC
• Click Create and wait until the ProvisioningState changes
STEP 2: Create your first Docker Host
• Click Select to choose the VDC which was created in step 1
• Click +Add host in the section “hosts” of VDC_NAME
• Specify a name for the host
• Specify the initial amount of cores or accept the default value
• Specify the initial size of RAM or accept the default value
• Choose a reasonable amount for the size of your volumes or accept the default value
• Click Create and wait until the process is finished (When the column “Docker Version” is filled and the button “Select” is shown, it is complete) The creation of a host might take 5-15 minutes.
STEP 3: Create your first Docker Container
• Browse the Docker registry and carefully read the description of the image you plan to deploy. There may be dependencies or other special requirements that have to be met in order to guarantee a flawless deployment.
• Click Select in the host section to select the host created in step 2
• The mask for the creation of a new container is automatically shown.
Here is an example for creating a redis container:
Description of the fields:
Name: a custom name for the container
Image: path to the Image in the Docker repository. You can search the Docker repository directly from here.
EntryPoint (optional): Specifies what executable should be run once the container starts
Command (optional): A command should be executed in the container. A default command may have been already provided by the creator of the image.
Host Port: Port that can be accessed via the internet from the outside
Container Port: Port on which a container receives data (can be accessed from inside the container) In most cases, this port is already pre-configured in the image.
Protocol: Choose TCP or UDP depending on your application
EnvironmentVariables: Specify environment variables to be used inside the container
Hostpath: Specify a path of the Docker host that should be mapped to the container
Containerpath: Specify the target directory (it will be created) where the hostpath should be mapped
Links (optional): Link the container to be created with an existing one. Linked containers can communicate with each other without restrictions
Name: existing container
Internal Name:give the container a name that is meaningful or easy to remember
After the essential fields have been filled in, click Run and the Docker container will be created. The creation of a container takes about 5 minutes if a new image I used. If the image already has been used before, the creation time is reduced to 30 seconds.
Auto Scaling & Live Virtual Scaling
Once a host has been created, there is a number of auto and live virtual scaling features that can be used
Live Virtual Scaling
Click the + button near the RAM display, to increase the amount of RAM
Click the + button near the Core display, to increase the amount of cores
Click the + button near the Volume display of the data-docker volume to increase the size oft the volume
Autoscaling of RAM:
Set the maximum amount of RAM that should be used by this host. Clicking the Autoscale RAM is off button, autoscaling for RAM is turned on. Click again to turn autoscaling off.
The RAM usage is measured every minute and in increased in steps of 2 GB in case the available ram is too low.
Autoscaling of Cores:
Set the maximum number of cores that should be used by this host. Clicking the Autoscale Cores is off button, autoscaling for cores is turned on.
The CPU usage is measured every minute and is increased in steps of 1 core in case the available CPU capacity is too low.
Autoscaling of Volumes:
Set the maximum volume size that should be used by this host. Clicking the Autoscale Volume is off button, autoscaling for volumes is turned on.
The volume usage is measured every minute and is increased in steps of 10 GB, in case the available storage capacity is too low.
Create a new volume:
Click the + button in the volume section in order to create a new volume for your containers
Clicking the More button, there are some more host administration possibilities displayed:
• Docker restart: restart the Docker daemon
• Host reboot: perform a shutdown –r on the host
• Host Power Cycle: switch off and subsequently switch on host
• Display root-SSH-Key: show private Key of root user
• Delete Host: Delete the Docker host (Warning: this will delete all containers)
Once a container has been created, the Docker at ProfitBricks Web interface offers the following possibilities for further administration of the container.
• Restart: Restart the container
• Kill: Kill all processes of this container
• Destroy: Destroy the container
• Clone: Use the Container as a template for a new one
• Processes: Show all processes of this container
• Logs: Show the startup logs of the container
• Inspect: Show configuration
• Stats: display statistical information regarding ram-, storage- and cpu usage
• Terminal: open a terminal in your container and run LINUX builtin system commands
• Stop: Stop running the container