Multiple LXD Hosts Can Share a Discreet Layer-2 Container-Only Network

Interested in LXD and LXC?  Check out our new LXC/LXD Deep Dive course here at Linux Academy!  We cover topics including installation, launching containers, persistent storage, networking, and even cover some fascinating use cases to make LXC useful and relevant to you right now!

We’ve also created this LXC-LXD Cheat Sheet to help you get started with LXD right away!

Introduction

LXD is a really fun and easy way to jump into containers, especially if you have some experience with virtual machines.  LXD is designed to create machine containers, which strongly resemble virtual machines, so trying out new distributions or testing application deployments is easy and – dare I say it – fun.  LXD 2.0 brought myriad new features to the platform, but a few tasks remain adorably unfledged. A single node of LXD, for instance, can easily be initialized and containers come up on their own private network with the default settings.  Once a second node is added, a major limitation becomes obvious:  Each node has its own private network for containers and, without some networking jujitsu, will never be able to communicate with one another.

Getting all those containers on the same layer 2 network, regardless of which host each one resides on, is what this post is all about.  

(more…)

Docker

Starting Docker

Everyone is talking about Docker, but you already have a day job and spend your nights learning three other new technologies. Plus the kids need a story before bed, the toilet won’t flush right, the trash needs gathering up and – who has the time?! Don’t worry, we’ve got you covered! I can’t help with the plumbing, but we here at Linux Academy and Cloud Assessments can give you a head start on Docker and maybe even save you a few minutes by using it.

Docker has been touted as a “lighter visor,” and I’m still not sure how I feel about that. On the one hand, it’s correct: Docker containers are, in many ways, similar to virtual machines in that they are discrete units of compute designed around an application or set of applications making up a task. Besides being an order of magnitude more efficient by making use of the host’s kernel, containers are smaller, faster, and generally better for many tasks than virtual machines.

(more…)

Using Docker-Compose to Simplify Multi-Container Builds

One of the primary advantages of containers is the ability to quickly deploy a single, discrete application with a known configuration, fully supported within the container. However, as we all know, within our enterprise organizations, most applications do not run on their own – most have to connect to and use search services, databases, and more. Let’s take a look at how to build a multi-container environment, managed with a single utility in order to simplify your deployments. (more…)

Google Container Engine

So here we are; we launched a new course at Linux Academy called Google Container Engine! If you’ve worked with AWS before, then you know that containers can function very similarly to EC2 instances; however, this is not the case with Google’s cloud. Instead, you get a stack of servers called a container cluster which are cloud instances that run Kubernetes.

The course covers these various features:

  • An introduction to the Google Container Engine that explains various features for container clusters such as autoscaling, hosting a multizone configuration, and how to use Kubernetes alpha features.
  • An overview of the Google Cloud Platform Console.
  • A look at managing container clusters through the CLI and Console and how to use container cluster features.
  • How to use the Google Container Registry as an alternative to using Docker Hub for creating your own private registry.
  • Learn how to use Kubernetes to create a pod and service using the Hexo blog.
  • Create a microservice with persistent disks using MySQL and Ghost, another blogging platform.
  • How to use the Kubernetes Dashboard with your container cluster.

(more…)

Alpine Linux

Alpine Linux and Docker

Alpine Linux is a relative new-comer in terms of Linux distributions, one of several in a recent proliferation of distros tailored for virtualization, containerization and the cloud. As noted on its website, Alpine Linux is “…an independent, non-commercial, general purpose Linux distribution designed for power users who appreciate security, simplicity, and resource efficiency.”

Performance and security being more or less universal goals, Alpine’s self-proclaimed focus is hardly earth-shattering. This particularly in light of the growing number of performance- and security-oriented distros available.

So what makes Alpine different – sufficiently different enough to warrant Docker switching to Alpine for its base images? (more…)

Docker

Dockerizing Desktop Applications

Everyone has heard of Docker and the container revolution it has sparked. Using Docker to containerize server applications has revolutionized how applications are deployed in the Enterprise, due to increased speed and consistency without regard to underlying distribution or architecture. However, not many are really looking at how Docker can improve your desktop experience as much as your server deployments. Let’s take a look at some Docker desktop containers for popular applications and why we might use them. (more…)

What are Containers?

Scalability, high availability, containers, fault tolerance and eventual consistency. Tech terms can be confusing to those new to server administration or development. In the coming weeks, we’ll be breaking down common — yet potentially confusing — terms you will undoubtedly come across in your learning journey.

containersWith the advent of platforms such as Docker, containers are an oft-spoken term in system administration and programming. But what are containers? At a base level, someone new to containers might understand they “contain” an application, but how does it work? What are the benefits and use-cases? (more…)