This article applies to Citrix XenServer 7, for version 6.5 please ensure you are using the correct supplemental pack
Installing the Supplemental Pack
SSH into your XenServer host and run the following to download the ISO
Next run the following command to install it
Once this is installed you can rm the iso from dom0 to conserve space.
Installing CoreOS Guest
Use the new VM wizard selecting the CoreOS ISO when prompted for the install media and when you get to the final portion where it asks you to complete the cloud-config template ensure you enter a hostname in the top line, and uncomment the line for ssh-rsa and add a key, or you will not be able to SSH into the VM. Once the VM is booted you will see the ip address in the console, attempt to ssh to this using the username core@ipaddress to ensure your SSH key is working.
If your SSH key does not work at this point power off the VM and fix it before proceeding to the next step as it is the point of no return.
Installing CoreOS to Disk
SSH to your CoreOS VM. The command below will complete the installation of CoreOS to disk on your VM:
sudo coreos-install -d /dev/xvda -o xen -C stable
Once this completes you will need to execute the following:
Once the reboot has completed you will need to set a password for the core user
Once you provide a password and confirm the password you can proceed to the next step which allows monitoring of containers by dom0
Enable Container Monitoring
To enable container monitoring you will first need the UUID of your CoreOS VM. Execute the following command via SSH on your XenServer host:
xe vm-list power-state=running
Copy the UUID over the VM to your clipboard then run the following command:
xscontainer-prepare-vm -v <UUID of VM> -u core
You bill be asked if you’d like to push a pool specific SSH key to the VM for monitoring, choose yes and enter the password you set for the user core in the previous step.
The next step will be to pull a docker repo of your choice, for my example I will use centos:latest
docker pull centos:latest
Next we will start a docker instance:
docker run -i -t -d centos:latest /bin/bash
At this point we should be to make sure our container is successfully running from the CLI:
Now in the Citrix XenCenter console we should see a plus sign next to our CoreOS VM. Once this is expanded you should be able to see the docker container you started by name.