Setting up Docker Datacenter on VMware Fusion

With the release of Docker Datacenter, it seemed like a good idea to kick the tires on this new system to get a handle on what the experience is like installing, configuring, and managing the new packaged Docker offering. There are a few pre-requisites that you have to get sorted out which include:

  • Base system to run Docker Datacenter
  • About 30-45 minutes
  • Internet access
  • Use-cases to try within 30 days
  • No previous 30 day trials of Docker Datacenter (it’s a one-time trial)

IMPORTANT NOTE: I use code examples from the install process, but some may alter over time from the Docker Datacenter site. Please use the original code in place of the samples to ensure consistency with the available version.

Make sure you have a system ready to go. In my case, I’m going to use an Ubuntu 15.10 system built with a single NIC on VMware Fusion. The NIC is configured for NAT on Fusion which is the Share with my Max setting:

nic-setting

I’m using 4 GB of RAM and a 40 GB disk set for thin provisioning and to use a single file. Because I often archive my VMs off of the laptop I use, having a single VMDK is easy for moving them around.

Let’s get started with the download and install!

Getting Docker Datacenter

First, you go to the main site for Docker Datacenter to start the process:  https://www.docker.com/products/docker-datacenter

You will need your Docker Hub account to log in and attach the license. As you can guess, there is a form to fill out for further contact because this is a commercial product that will have some nurturing to bring you towards purchasing.

docker-datacenter-steps

Now that we are in step 1, we have to install the Docker Engine. This is done on Ubuntu using the following shell commands, but there’s a catch!!

Notice that the original code says to add ubuntu-trusty main to the repo source list. Because I’m using 15.10 I updated the real code to say wily instead of trusty: echo "deb https://packages.docker.com/1.10/apt/repo ubuntu-wily main" | sudo tee /etc/apt/sources.list.d/docker.list

I used the original code from the Docker site in the example here to stay with their instructions:


wget -qO- 'https://pgp.mit.edu/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import
sudo apt-get update && sudo apt-get install apt-transport-https
sudo apt-get install -y linux-image-extra-virtual
echo "deb https://packages.docker.com/1.10/apt/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install docker-engine

All the updates went according to plan, including a reboot along the way. Once that is done it’s on to step 2.

Installing Docker Trusted Registry

This is a simple step. As we hit the next step in our install, we are ready to deploy the Docker Trusted Registry (DTR) and Universal Control Plane (UCP).

dtr-ucp

This is done with a nifty one-liner:

sudo bash -c "$(sudo docker run docker/trusted-registry install)”

The console will show that the DTR can’t be found locally in the container image cache, so it will start the download the images. This may take a little while depending on your network speed:

dtr-install

Once that’s done, just open up a browser and go to the https instance on the virtual machine. There will be a warning about the site being insecure which is true because the certificate is not trusted based on the URL you are accessing. No worries though, this is the early part of the configuration.

https-error

The launch screen will come up and as if by magic you are starting your first configuration steps:

first-launch

You can see that there are some errors highlighted on the right-hand side of the window. These are because of:

  • No domain set up – accessed the site by IP address
  • Unlicensed instance – you have to request in the next steps
  • Authentication – default is set up with no authentication at all

Because security should be first on our mind, let’s set up authentication by clicking on the Settings menu option and then the Auth submenu. This brings us to the drop list where you can choose your authentication type:

sec-droplist

For my example, I’m going to go with a Managed authentication using a local database. I’m going to create a discoposse user with full access:

user-add

As soon as you save the admin user, you will be logged out of the environment and be forced to login again:

login-page

Now we have removed one of the configuration errors listed at the main page. Next step is to get our demo instance licensed. Because you signed up at the start of the process, you have had the trial license added to your Docker Hub account.

Go to https://hub.docker.com with your log in used to request the trial, click on your account icon in the upper right and go to Settings menu. From there click on Licenses and then click the download icon in the trial section at the bottom left:

get-license

Head back to your Docker Datacenter instance and upload the docker_subscription.lic on the Settings menu in the License submenu:

license-install

Once you’ve set the file to upload, click on Save and Restart button.

You will be brought back to the same page after the restart. The License ID section will be populated with a string of characters now that the trial license is applied.

Our last configuration step is to set up the domain name. Go to the Settings section and the click the General submenu. Set the Domain Name option to a fully qualified domain name that you have configured in your DNS.

The security admin inside me wants to configure a whole bunch of other goodness here with the certificates. In this case. we are going to just scroll down and click the Save and Restart button.

Welcome to your Docker Datacenter!

Now that we have configure the minimum settings to use DTR in your Docker Datacenter, we are ready to log in using the new configuration. Go to your new URL as set on the General settings page. In my case, I chose dtr.discoposse.com and will be prompted to log in with my admin credentials as set in the first steps.

This is just the start line of our journey.  Next up we will be installing the UCP (Universal Control Plane), and our upcoming blogs will cover a few different things we can do using our newly configured Docker Datacenter. We love learning the possibilities!

2 thoughts on “Setting up Docker Datacenter on VMware Fusion”

  1. “Installing Universal Control Plane and Docker Trusted Registry” Good stuff on the Registry but this doesn’t address the control plane at all.

    Reply
    • Hi Kevin,

      Next post tackles the UCP. Sorry that I didn’t adjust the titles correctly inside the article to show it was only DTR on this one. Just had a baby, so my lab time was cut down as you can imagine 🙂

      I’ll add the UCP post this week to get us back up to the full Docker Datacenter.

      Thanks!

      Eric

      Reply

Leave a Reply to Kevin Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.