What is Container Linux? Should I use it?

Containers are increasingly popular. The Linux container, formerly known as CoreOS, is a Linux operating system designed for deploying simple containers.

Linux operating systems have many different features. While Linux operating systems like Ubuntu are quite general, other operating systems are only targeted to a suitable audience, for example: Kali Linux is geared towards security, light distributions are Xubuntu or Hannah. Montana Linux, Linux Vanilla works well with desktop computers. However, for specialized tasks such as running a server, it is best to find the version specifically designed for that function.

Containers are increasingly popular. The Linux container, formerly known as CoreOS, is a Linux operating system designed for deploying simple containers. This is one of the latest suitable Linux operating systems for this. Let's find out more about Linux Container right away.

Learn about Container Linux

  1. Some basic information about Container Linux
  2. Why use containers?
  3. What is Container Linux?
  4. Structure of Container Linux
  5. Which object should use Container Linux?
  6. How to install Container Linux
    1. Configure VirtualBox
    2. Configure Container Linux
    3. Next steps

Some basic information about Container Linux

Before diving into Container Linux, start with a brief overview of the server structure. Linux containers are designed for cluster deployment. Cluster deployment sounds quite complicated, but it's actually quite simple. Basically, a cluster of computers consists of multiple servers operating together. Therefore, they act as a unit or a system, not as separate individuals. Furthermore, computers in a cluster are characterized by nodes and servers, performing the same function. Therefore, a node is a single machine, while a cluster is a group of servers that work together.

The most common Linux Container implementation takes place in cluster environments. Distro, formerly known as CoreOS, even includes the means to create a single-word phrase. However, the defining feature of Container Linux depends on the container.

Unlike a traditional desktop operating system, all applications run in containers. While both virtual machines (VMs) and containers use virtualization methods, the containers are still different. Unlike virtual machines, containers use the same kernel of the operating system as the server. Because the application is packaged and the server uses the same kernel, the performance of the container deployment will increase. In a virtual machine configuration, each virtual machine runs an application, plus a guest operating system. It runs on the operating system and server hardware.

Container deployment takes place on virtualization software, instead of running applications in the container itself. Docker is still the most popular container software, although chroot, LXC, and Linux-VServer are also worth considering.

Why use containers?

In summary, the container is a virtualization method. So why use Container? Usually containers give users improved performance. By avoiding separate operating systems and instead of using a shared kernel, users can maximize CPU, storage capacity and memory efficiency.

Since you do not need to run multiple operating system versions like in virtual machine configuration, you can run more containers. Performance improvements stem from the need for a single operating system. Similarly, you can create containers faster in a virtual machine environment. Therefore containers are more suitable to maintain quickness, as well as allow continuous distribution and integration.

Although the container has certain advantages, it is still not a perfect virtualization method. When the kernel sharing container of the host operating system, it can cause security risks. Any vulnerability or breach that affects the container can affect the operating system. But there is a way to handle running applications that are contained on an operating system inside a virtual machine. This ensures that the host operating system is isolated from the single container server operating system.

The containerization process also requires containers to use the same operating system. With virtual machines, each application has its own operating system. Therefore, you cannot run applications designed for Windows Server in a Linux container environment and vice versa.

What is Container Linux?

Picture 1 of What is Container Linux? Should I use it?

CoreOS, or Container Linux, is an open source Linux operating system. It is a lightweight distribution intended for cluster deployment. More specifically, CoreOS focuses on simple, reliable and scalable deployments. You will not find a package manager. Instead, Container Linux requires all applications to run inside containers. Linux container uses Chrome OS as a basis. Therefore, Container Linux is still quite light. To test, the author has run the Linux operating system, formerly known as CoreOS, in a virtual machine on an old HP Envy m6-1205dx AMD A10 laptop. The results show that the consumption of system resources is still quite low.

Because Container Linux has removed some of the Linux operating system features on traditional desktops, it is quite compact. Unlike the desktop operating system, you will not find the package manager. Instead, all applications run as Docker containers. This makes the service portable and quarantined. If you want a desktop environment, then perhaps you should not try Container Linux. Container Linux lacks a graphical user interface. Instead, everything is based on the command line. The CoreUpdate control panel provides information about machine status, running services and cluster status. But it is only available as a component in the Premium Managed Linux subscription.

Link refer to Premium Managed Linux: https://coreos.com/products/container-linux-subscription/

Structure of Container Linux

Linux containers are very light and designed to contain and cluster. Since there is no desktop environment, its configuration functions differ from Linux operating systems like CentOS or Ubuntu. When booting for the first time, Container Linux will load a cloud configuration file. You will need to enter the information in the cloud configuration. This can be a bit complicated, especially for those who are not familiar with the cloud configuration. But it is an important file, providing Container Linux with the ability to download essential services, change parameters and manage clusters.

Moreover, the etcd and fleet daemon remain inseparable from Container Linux. Both services launch by default. In addition, when starting, the cloud configuration file tells the server how to join an existing cluster. Etcd daemon distributes and stores data for servers in a cluster. It is necessary to maintain configuration as well as service discovery. Fleet daemon is similar to a distribution init. This daemon links to the init system for servers in a cluster and manages tasks such as planning for services.

Each system in a fleet cluster only runs one fleetd daemon. This daemon assumes two main responsibilities: Acting as an actor and as a motive. As a motor, the daemon makes scheduling decisions. As an agent, it enforces units. In the fleet cluster, etcd is the only data warehouse. Information such as cluster presence, unit status and unit files are stored in etcd daemon. In addition, it is the means for communication between the engine and the fleet agent.

Which object should use Container Linux?

Linux Containers are free to download, compact, and quite simple to install in a virtual machine. Anyone who needs a fast and scalable container deployment, should choose to use Container Linux. System administrators and database administrators will benefit the most from Container Linux. Because Container Linux lacks a desktop environment, it is best suited for cluster management and for server settings. If you are looking for a Linux server operating system, Container Linux is one of the 12 best Linux server distributions.

How to install Container Linux

There are many means to install Container Linux. According to the CoreOS website (coreos.com), official platforms include Amazon EC2, DigitalOcean, Microsoft Azure, bare metal and OpenStack. Together with Oracle Linux, CentOS and Suse, CoreOS are among the few Linux operating systems compatible with Azure. Thanks to a vibrant community, platforms like Packet, Rackspace, Brightbox, VirtualBox and VMware are also supported. The easiest method is to install Linux Container on VirtualBox using the ISO file. Here are quick instructions on how to use VirtualBox.

Configure VirtualBox

Open VirtualBox and you will be prompted to enter the virtual machine name, operating system type and version. This example will use the virtual machine name as CoreOS. For operating system type, select Linux. Regarding the version, use Linux 2.6 / 3.x / 4 / x (64-bit) . Then click Next.

Picture 2 of What is Container Linux? Should I use it?

Now, you will need to allocate your RAM. CoreOS suggests a minimum of 1024MB of RAM .

Picture 3 of What is Container Linux? Should I use it?

After choosing RAM, you will need to add a virtual hard drive. Use the option to create a virtual hard drive now.

Picture 4 of What is Container Linux? Should I use it?

On the next screen, you will be prompted to enter a hard drive file. Choose VDI or VirtualBox Disk Image .

Picture 5 of What is Container Linux? Should I use it?

Then, configure your storage capacity. You should use hard drive files that are dynamically allocated .

Picture 6 of What is Container Linux? Should I use it?

Then, select the location and file size. For example, keep the default CoreOS as the name and choose the file size of 8GB .

Picture 7 of What is Container Linux? Should I use it?

With the correctly configured CoreOS VirtualBox virtual machine, continue and click on the green Start button.

Picture 8 of What is Container Linux? Should I use it?

When you click Start, you will need to select a boot drive. Navigate to the directory where you have set the CoreOS ISO and continue.

Configure Container Linux

After starting CoreOS ISO, Container Linux starts loading. Finally you will see a line for your CoreOS version and a command line as follows:

 core @ localhost 

Please enter:

 sudo openssl passwd -1> cloud-config-file 

Picture 9 of What is Container Linux? Should I use it?

The command line will appear a warning, if the configuration file cannot be opened. Enter the password you want and continue. Next enter:

 cat cloud-config-file 

Picture 10 of What is Container Linux? Should I use it?

This results in a long string and creates a new cloud configuration file. Now open cloud-config in the visual editor:

 micro cloud-config-file 

Picture 11 of What is Container Linux? Should I use it?

This will load a cloud configuration file that you can edit. CoreOS includes an example file for advanced cloud configuration:

Picture 12 of What is Container Linux? Should I use it?

The file in this example will look like this:

 # cloud-config 
users: moe
passwd: [SSL password]
groups:
- sudo
- docker

Picture 13 of What is Container Linux? Should I use it?

You can check your cloud configuration file by typing:

 cat cloud-config-file 

Picture 14 of What is Container Linux? Should I use it?

After completing the configuration file. If all looks good, proceed to install CoreOS:

 sudo coreos-install -d / dev / sda -C stable -c cloud-config-file 

Picture 15 of What is Container Linux? Should I use it?

You will see the message that CoreOS is being downloaded, recorded and verified. As soon as you finish, you will see a message saying ' Success! CoreOS [version] is installed on / dev / sda. '

Picture 16 of What is Container Linux? Should I use it?

Turn off your CoreOS virtual machine and then reboot. When you start backing up, make sure to remove the ISO CoreOS or another direct CD that may run again.

CoreOS will load and you will see the login prompt in the command line:

 localhost login: 

Picture 17 of What is Container Linux? Should I use it?

Enter your username and password. This will load a message that says " Linux Container by CoreOS [version] " and a new command line.

Picture 18 of What is Container Linux? Should I use it?

Next steps

Now that the CoreOS Linux Container has been properly installed, you can start setting up containers and clusters. CoreOS documentation has great quick instructions, with information on service detection using etcd, as well as a part on container management with Docker. The author made a few quick tests like dragging ' Hello World ' Docker, installing a Plex Docker image, finally, setting up the fleet to manage the cluster.

The first thing you will do is configure the main components of Container Linux:

  1. etcd
  2. Docker
  3. Fleet

By configuring these three major platforms, you will be ready for service discovery, cluster management, and container setup. Then, you can start containerized applications and test desktop applications securely in Docker containers.

People do not often use containers, but Container Linux will simplify the deployment of containers. Container Linux documents are great with sample configuration files. Note that for beginners, some informal installation tutorial videos make it easier to install CoreOS.

Linux containers are very light. However, some steps in the initial installation process are not "beginner friendly". Installing and installing Linux Containers requires familiarity when working with Linux. CoreUpdate control panel is provided by CoreOS as a premium paid feature. For some users, it won't be a problem to use the command line, but a graphical environment for tracking is much better.

System administrators and database administrators will benefit the most from Container Linux. However, for family servers, it is still a simple and lightweight means to create a clustered environment. Moreover, with Container Linux, you can create a single machine phrase. But Container Linux will be better if working with containers. If you are looking to learn more about Docker and containers, Container Linux runs very well in virtual machines and provides all the resources you need to get started.

This is a great solution for new Container users, in addition to DevOps's experienced engineers, administrators and administrators. CoreOS's final Linux Container is a simple means to create an environment that is scalable and efficient.

Are you using CoreOS? If not, are you planning to use it? Let us know your opinion in the comment section below!

See more:

  1. 6 best media server software for Linux
  2. 6 best Bitcoin digging software for Windows, Mac, Linux
  3. Do you know the safest operating system yet?
Update 26 May 2019
Category

System

Mac OS X

Hardware

Game

Tech info

Technology

Science

Life

Application

Electric

Program

Mobile