Build Container Apps with Flockport

Flockport supports LXC containers. They offer a more flexible container model with a standard OS environment compared to alternatives.

For those who are wondering what is a container build and why would you need it, you don't. Most container platforms ship with base OS images that you can use to install and run your apps.

Flockport also hosts an app store of ready to use container apps. Apps can be downloaded from the Flockport app. All apps are built using recipes. You can view all the Recipes in the builds folder of the Flockport installation.

Container builds simply automate the process of installing and configuring an application in a container that you would do manually. It is a set of instructions to install and configure the application. This allows you to make builds repeatable and share them.

Flockport supports two container build models. The first is similar to the Docker file that existing container users may be familiar with. The second offers far more advanced build capabilities including linked & multiple builds, automating deployment across clusters, networks and cluster builds.

Flockport does not use layers to build containers. Layers are interesting but unless you have a specific need addressed by layers they can add more complexity and overhead than benefits.

You base infrastructure must be as simple as possible, save your energy for the complexity that will inevitably come from applications, networking, scalability and security.

You can choose to run your built container in a layer so your prebuilt app image remains untouched and any data goes to a new layer.

Flockport Recipes

Flockport recipes are basically a set of instructions to automate the install and setup of an application in a container. The keywords used are FROM, ENV, COPY, RUN, PORT and VOLUME.

FROM describes the base os image to build the container from. Flockport currently provides Ubuntu, Debian and Alpine base os images and these are available for download in the app store.

The ENV keyword defines any environmental variables the build process needs to use. The COPY keyword is used to copy any files needed for the build process to the container. The RUN keyword are the actual commands to install the application. VOLUME is used to attach any data containers if required. The PORT keyword defines any ports to be forwarded when the container is run.

We also use a DB keyword to define any databases that need to be linked to the app. Currently only Mysql and Postgresql databases are supported. There are few more keywords that are useful.

Once you have defined the recipe you can simply run the flockport build command to build the container. Recipes are useuful in that they capture a defined set of instructions to install and configure an application or set of applications and can be shared.

Here is a short screencast of the build system in action

Automating Container Builds

Autopilot

The second build system is called Autopilot and offers far more advanced capabilities. It lets you build both single and multiple containers, deploy them, build networks, clusters and more. This autopilot system is currently in testing but the container build functionality is available for testing. This build system uses the yaml format. You can then activate the build with the flockport deploy command.

About Flockport

Flockport is a new container orchestration platform focused on showcasing the ease and flexibility of containers. Flockport currently supports LXC containers.

Flockport's new platform provides an app store, orchestration across servers, advanced networking and distributed storage support, service discovery, load balancing, HA, container builds and deployment automation.


RELATED POSTS