1. You’ll need an Ubuntu 14.04 host to perform the installation. (Other Linux distributions should work as well if they can run Docker v1.0+.) The first step after OS installation is installing Docker. The quickest way to install Docker is the following:
# wget -O - http://get.docker.io | sudo su
The install script will add the Docker repository to apt and install Docker.
2. After it is installed, you must either run Docker commands as root or add your user to the “docker” group. You can perform this task using:
# sudo usermod -aG docker $USER
… with $USER being the username you want to add to the “docker” group. You’ll need to log out all sessions of the user before the change will take effect.
3. Next, you will need to install serviced.
Note: Please make sure you have set the correct hostname/IP in the host file. Control Center will not function correctly if the hostname is mapped to the loopback adapter IP: 127.0.0.1
# sudo apt-key adv --keyserver keys.gnupg.net --recv-keys AA5A1AD7 # sudo sh -c 'echo "deb [ arch=amd64 ] http://get.zenoss.io/apt/ubuntu trusty universe" \ > /etc/apt/sources.list.d/zenoss.list'
# sudo apt-get update
# sudo apt-get install serviced
Serviced should now be installed in /opt/serviced. There may be an initial pause before serviced starts up as it loads its internal services images into the running Docker instance. Once that is complete you should see the Control Center serving up an AngularJS UI at https://[HOSTIP]/.
If you don’t see serviced starting, start it via the following upstart command:
# sudo start serviced
4. You will need to log in using a user that is in the wheel or sudoers group. Authentication is performed using PAM; you may need to configure PAM appropriately if you use Kerberos or LDAP for authentication.
If in doubt about whether Control Center has started properly, check the log:
# sudo tail -f /var/log/upstart/serviced.log
Also check if the host is listening on TCP 443:
# netstat -an | grep [:]443
Next, you will need to deploy an application. Applications are deployed from an application template definition.
Step 1 - Download application template
We are going to deploy a simple Python webserver using Control Center.
# git clone https://gist.github.com/mmaloney/48f3a5b392d03b8e3f53 ~/apptemplate
Note: If you don’t have Git installed, you can grab the file directly from the URL above via your browser. If you want to install, run: apt-get install git
Step 2 - Load application template
# templateid=$(serviced template add ~/apptemplate/webserver.json)
Step 3 - Add host
# serviced host add [HOSTIP]:4979 default
Alternatively, you can add the host through the UI: https://[HOSTIP]/#/hosts
Step 4 - Deploy Application
# serviced=$(serviced template deploy $templateid default dev)
Alternatively, you can deploy the application through the UI: https://[HOSTIP]/#/apps
Note: This may take a while, since Docker needs to pull the target image from Docker Hub.
Step 5 - Start Application
# serviced service $serviced start
Alternatively, you can start the application through the UI: https://[HOSTIP]/#/apps
Now you should be able to access the Python web server directly via http://[HOSTIP]:8000
In addition, the web server configuration details are available in the UI, including the VHost configuration.
Application logging is turned on by default and is available here: https://[HOSTIP]/#/logs