Skip to main content

Posts

What Inside a Docker Container

  What is Container A standard unit of software that allow to package applications and their dependencies and run them in a isolated environments, sometimes we call it an operating system level virtualization that allow to run a specific task which call container. Container uses kernel, CPU & RAM of host machine, because container only has the application layer of the OS and there is no custom or additional kernel inside container. All containers are sharing the host OS kernel of machine. Containers are designed to run as a in-memory processes, so you'll lose all the changes you made in the container, including software updates and installed tools if you stopped or restart the container. What is Image A read-only template or a blueprint that contains a set of instructions for building a container which call container image. A image is made up of a collection of files that bundle together all the essentials (such as "installations, application code, and dependencie...
Recent posts

History of Linux Container

What is container? Container is an operating system level virtualization which allow to package applications and their dependencies and run them in a isolated environments. containers are branch of host operating system, and they share the host operating system's kernel and system libraries to complete their tasks. Container’s history In 1979 during the development of Unix V7 one new name chroot (change root) system call was introduced. it’s an Unix operating-system system call for changing the root directory of a process and it's children to a new location in the filesystem which is only visible to a given process. It was a beginning a process isolation: isolated disk space for each process or segregating file access for each process.

What is Kubernetes

The name Kubernetes originates from Greek, meaning helmsman or pilot, also known as k8s. Google open-sourced the Kubernetes project in 2014 and donated the Kubernetes project to the Cloud Native Computing Foundation (CNCF) in 2015. Kubernetes originated from a Google's project called borg. Borg was the predecessor to Kubernetes, and Kubernetes combines over 15 years of Google's experience running production workloads at scale with best-of-breed ideas and practices from the community.

How to increase devmapper: Thin Pool or loop-lvm Size in Docker

Sometimes while we do any docker operation or build docker images, we might encounter devmapper: Thin Pool space issue. daemon: devmapper: Thin Pool has 132480 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior We can resize a loop-lvm thin pool manually without any device-tool utility. 1. First grep the location of Data loop file.      $ sudo docker info | grep loop WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. Data file: /dev/loop0 Metadata file: /dev/loop1 Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata 2. Check the total size of loop0 device. $ echo $[ $(sudo blockdev --getsize64 /dev/loop0) / 1024 / 1024 / 1024 ] 100 3. We will add 100GB in Data file: /dev/l...

Shift your Data into Virtualization

A single approach to data management that allows an application or user to retrieve and manipulate data without knowing any technical details about the data. That approach called Data Virtualization. Data Virtualization is different than traditional virtualization like - VMWare, Hypervisor, KVM, etc. because we already learned how to do virtualization of OS, Hardware and Storage, now time to add some more into virtualization, which is DATA. What is Data Virtualization? Data virtualization is a single window used to describe any approach to data management that allows an application to retrieve and manipulate data without requiring technical details about the data, such as how it is formatted, or where it is physically located. Why use Data Virtualization? Data virtualization promotes efficiency in data usage and processing and accelerates time to market on projects with complex data storage infrastructure. The purpose is to allow data to be accessed without creating extra ...

How to configure a Datasource in JBoss / WildFly as a JAR Deployment

JDBC drivers can be installed as a JAR deployment using either the management CLI or the management console. As long as the driver is JDBC 4-compliant, it will automatically be recognized and installed as a JDBC driver upon deployment. 1. Download the appropriate JDBC driver from your database vendor. 2. Start the JBoss EAP/WildFly server. 3. Now most of the drivers coming with JDBC 4-compliant, but in case If the JDBC driver JAR is not JDBC 4-compliant, it can be made deployable using the following steps. i) Create a directory structure META-INF/services on your local system. $ mkdir -p META-INF/services    ii) Create a file inside META-INF/services/java.sql.Driver. $ touch META-INF/services/java.sql.Driver   iii) Add one line in the file to indicate the fully-qualified class name of the JDBC driver. $ echo “com.mysql.jdbc.Driver” > META-INF/services/java.sql.Driv...

How to configure a Datasource in JBoss / WildFly as a Module

JDBC (Java Database Connectivity) is a Java API to connect and execute the query with the database. It is a part of JavaSE (Java Standard Edition). JDBC API uses JDBC drivers to connect with the database. The JDBC driver converts the application code to the database language. This means that if the correct driver is installed, an application can be used with any supported database.  Install a JDBC Driver as a Module JDBC drivers can be installed as a core module using the management CLI using the following steps. 1. Download the appropriate JDBC driver from your database vendor. 2. Start the JBoss EAP/WildFly server. 3. Launch the management CLI with--connect argument to connect to the running instance. $ EAP_HOME/bin/jboss-cli.sh --connect And you will get the below cli [standalone@localhost:9990 /] 4. Use the module add management CLI command to add the new core module. Syntax :- module add --name=<MODULE_NAME> --resources=<PATH...