Run Portrait on a hypervisor

The Basics

From an infrastructure perspective, one of the most important aspects of a docker environment is, that applications can be run without the overhead of an operating system. Furthermore, containers are bundled in a single docker application.

However, if you don’t have a Docker environment yet, this guide will show you a simple and fast way to get one.

Single Host Deployment

The following steps will introduce you to run portrait on single virtual machine and focuses on VMware ESXi – other hypervisor scenarios will work in the same fashion.

Prerequisites

For this article, you will need the following setup:

  • ESXi 6.7 (with “Update 3” Patch or higher)

  • Photon OS

Photon OS

Photon OS™ is an open source, minimal Linux container host that is optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Due to ARM64 support, it will also work in Edge and IoT environments. By minimizing the number of packages, focusing on security, and providing advanced lifecycle management, Photon OS delivers just enough of a Linux operating system to efficiently run containers on VMware vSphere, Microsoft Azure, Google Compute Engine, and Amazon Elastic Compute Cloud.

The OS is indeed lightweight and comes as “minimal” configuration as 400 MB package.

Download Photon OS

Photon OS can be either downloaded as ISO or as OVA. In this tutorial, we use OVA, because that’s the fastest way to get it up and running.

Download OVA with virtual hardware v13 (UEFI Secure Boot) to your local computer from here: https://github.com/vmware/photon/wiki/Downloading-Photon-OS#downloading-photon-os-30-ga

There is no need to upload the ova manually to the datastore, this will be done in the next step.

Install Photon OS

Log on to your ESXi web client and create a new VM:

In the wizard, choose “Deploy a virtual machine from an OVF or OVA file”:

Name the new machine and select the file for upload from your local computer:

In step 3 you choose the location of your new VM, accept the license agreement in step 4 and choose deployment settings in step 5:

Finish the wizard in step 6 with a click on “Finish”:

Depending on your connection to the hypervisor, the upload will take a while.

The machine will start, and the first login is done with user “root” and password “changeme”:

Password policy is quite strict, so several tries will be needed.

Change the repository

As of the 25.8.2022 VMWare still hasn’t updated the repos in PhotonOS. Please refer to the following VMWare knowledge base article on how to fix the errors. https://kb.vmware.com/s/article/81304

Setup docker

Inside the machine, execute the following commands:

systemctl start docker systemctl enable docker

The last command will run the service on each startup.

Setup docker-compose

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod a+rx /usr/local/bin/docker-compose

Install dependencies

Due to its minimalistic approach, we will need some extra packages installed

yum -y install wget yum -y install unzip

Setup Portrait

From here, it’s basically following the setup procedure for portrait: See Install Portrait.