Install Rancher on Ubuntu 16.04

Published on: Thu, Dec 28, 2017 at 6:12 pm EST
This article is a port of "How To Install Rancher on Ubuntu 14.04" for Ubuntu 16.04.

Introduction

Rancher is an open source platform for running containers and building a private container service. Rancher is based on Docker, so you can run it on a dedicated box, KVM machine or even on a LXC container. Rancher provides a huge library of applications which are installed within a few clicks and also supports Docker images from Dockerhub.

Requirements

  • A Vultr instance Ubuntu 16.04 x64.
  • At least 1GB memory.
  • A supported version of Docker.

Install Docker

As stated, Docker is required to run Rancher, so we will install it first.

First, remove any old Docker files, if necessary.

sudo apt-get remove docker docker-engine docker.io

Note: You may get a report that no Docker files are installed. This is safe to ignore.

Update package lists.

sudo apt-get update

Allow apt to use a repository over HTTPS.

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

Add the official GPG key.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Verify that you have the key by searching for last 8 digits of the key's fingerprint.

sudo apt-key fingerprint 0EBFCD88

The output will resemble the following text.

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

Add a stable repo.

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Update package lists again.

sudo apt-get update

Check the available versions of Docker CE.

apt-cache madison docker-ce

You will see output similar to the following block.

docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.2~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

Append the version-string, (second column), of the latest stable version after the = in the following command to install the latest version of Docker CE.

sudo apt-get install docker-ce=17.09.1~ce-0~ubuntu  

Note: You can install the latest version of Docker CE without appending the version to the end of the sudo apt-get install docker-ce command, but in a production environment, I recommended that you install a specific version rather than the latest version.

Verify that Docker installed correctly.

sudo docker run hello-world

This command runs a test image in a test container to print a message, then exits. The message will be similar to the following output.

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

Install Rancher

Now we're are ready to install Rancher.

sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable

Wait a few minutes to allow the Rancher UI to boot. Then, open your favorite browser and go to port 8080 on your server.

http://192.0.2.0:8080

Be sure to replace 192.0.2.0 with your actual server's IP address.

Rancher doesn't configure access control by default, so it is important to set this up immediately, otherwise the UI and API can be accessed by anyone who has your IP.

Hover over the ADMIN tab, and click Access Control.

Follow the instructions in the Rancher UI to set up whichever form of access control you prefer.

Conclusion

Everything is now installed and you can begin to configure Rancher. For more in-depth information on configuring and using Rancher, visit their official documentation.