Linux Containers (LXD) and Oracle 18cXE – installation
13.07.2020
by Kamil Stawiarski
There’s a lot of articles about installing Oracle XE 18c on Docker. But Docker is not the only containerization technology on the market.
In this article, we are going to create Oracle XE 18c installation in Linux Containers (LXD)
A bit of history – LXC vs LXD
When we start our adventure with Linux Containers we might get confused by 2 different naming conventions – LXC and LXD. To clarify let’s talk about some history.
In the year 2000 FreeBSD developers introduced the jail command, which was used to isolate an application process from the main operating system space, but it was not very intuitive and functional.
Fortunately, it was not a waste of time, because 6 years later Google developers used the idea of isolation to introduce the new project – Control Groups (cgroups) – which was added to Linux kernel in version 2.6.24.
From here it was only one step to create Linux Containers (LXC) as a first containerization technology, which led to the birth of Docker in 2013.
Since Docker was far more intuitive in use than LXC but was used in a bit different philosophy (stateless containers), 2 years later LXD was born to give a new quality to Linux Containers
LXD isn’t a rewrite of LXC, in fact it’s building on top of LXC to provide a new, better user experience. Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers. It’s basically an alternative to LXC’s tools and distribution template system with the added features that come from being controllable over the network.
In order to install Oracle XE 18c, we need to prepare our container properly. By default, we have a NAT bridge attached to our container, which will allow access to the host network.