Skip to main content

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

YAML - A Data Serialization language used in configuration files of networking

YAML full form is YAML Ain’t Markup Language. It’s mainly used in Grav, a flat-file based content management system for configuration files, blueprints and as well for page settings.  
YAML is a data serialization language that stores objects or data structures. It is not complex and can be understandable by users. Apart from configuration files, YAML files can be used where there is a need to store data or transmit data. 
YAML file acts as input for various software applications. YAML file follows the indentation to define the structure. One example where it is used for software applications is Cloudify that accepts configuration files as YAML files. 

Uses of YAML files: 
Let us understand the use of YAML files. 
  • Information in the YAML file can be translated to many other languages like JSON, CSV etc. 
  • YAML files provide powerful configuration settings without the use of code like CSS or JavaScript. 
  • Data transpiration to and from the server 
  • It provides the facility to configure the application with single YAML file having necessary parameters and itvalues. 
  • To transfer data between two components of an application, YAML file can be used. 
  • It also serves the purpose of intermediate storage. 

Basic rules of the YAML file: 
For the YAML file to be interpreted by any application or library and to convert it to other language types, follow the below basic rules: 
  • YAML file should have extension .yaml 
  • YAML is a case sensitive language 
  • Generally, as tabs are not universally not supported, YAML does not allow the use of tabs. Use spaces instead of tabs. 
Advantages of YAML: 
YAML has the following advantages: 
  • As there is no usage of delimiter, YAML is lighter than JSON and XML 
  • YAML file is simple and easy to read 
  • YAML files are easy to configure as they are easy to read 
  • YAML is the superset of JSON as any valid JSON code can be parsed by YAML compiler 
Disadvantages of YAML files: 
YAML files have the following disadvantages: 
  • At present, there are a lot of applications that are build using JSON or XML. It is difficult to migrate all these to YAML 
  • When compared to YAML, XML has matured ecosystem 
  • YAML has less support when compared with XML and JSON 
  • Indentation is strict in YAML. Without proper indentation, YAML does not work properly 
  • YAML has many ways to represent data. So, it is complex while processing YAML files and has less performance when compared with JSON and XML files 
Sample YAML File: 
In general, YAML files begin and end with “---” which indicates the start and end of the document. Common data types used in YAML files are lists and dictionaries. Dictionary has key-value pairs which are represented in the form of “key: value”. 
In YAML, all the elements of a list beginning at the same indentation will start with “-”. Multi-line comments are not supported in YAML. Single line comments in YAML starts with “#” symbol.  

Example 1: 
A YAML file that contains a list of vegetables is as follows: 
--- 
#List of Vegetables 
vegetables: 
  -carrot 
  -tomato 
  -cucumber 
--- 

Example 2: 
A YAML file that contains a dictionary is as below: 

--- 
#An employee Record 
pavan: 
  name: Pavan Kumar 
  job: Web Developer 
  skill: HTML and CSS  
--- 

Example 3: 
A YAML file that has both lists and dictionaries in it. In the below YAML file, the dictionary of an employee has a list of skills 

--- 
#An employee Record 
pavan: 
  name: Pavan Kumar 
  job: Web Developer 
  skills 
    -HTML 
    -CSS  
    -JavaScript 
--- 

Example 4: 
YAML provides a simple way of writing lists and dictionaries. In the dictionary, key-value pairs are enclosed in “{ }. In Lists, items are enclosed in “[ ]. A sample YAML file for this scenario is given below: 

--- 
 vegetables : [tomato, carrot, cucumber] 
pavan : {name : Pavan Kumar, job: Web Developer, skill: HTML and CSS} 
--- 

Conclusion: 
YAML is a recently emerging data serialization language. As with any other technology or programming language, it has both advantages and disadvantages. Some may find it difficult because of strict indentation in YAML. Choosing YAML to use in your project depends on the comfort of the person and your use cases in the project. 

Comments

Popular posts from this blog

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

Commands used in Dockerfile - Part3

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands WORKDIR & HEALTHCHECK used in  Dockerfile .   WORKDIR Command:   WORKDIR command is used to set the directory of the image on which the commands like RUN, COPY, ADD, ENTRYPOINT, CMD operates.   The command usage is WORKDIR < Path_To_Dir >. If the directory not exists, it will be created. If the relative path is given to WORKDIR, that path will be relative to the previous WORKDIR command’s path.    In Ubuntu, by default the WORKDIR will be  / . Please find the below sample  Dockerfile  to get clear picture of WORKDIR command:   FROM  ubuntu: 16.04   WORKDIR  /root ...

Vyos - An Open Source Network Operating System

What is  a  Network Operating System?   Networking Operating System (NOS) is an O perating system  that  has the capability to  support workstations, database sharing, application sharing, file ,  and printer access sharing among multiple computers in a network. In general ,  NOS is a specialized operating system used for devices like router, switch or firewall. Features of Networking Operating System:   NOS has the following features: Basic features like protocol support, processor support, hardware detection and multiprocessing support for applications Authentication, access control, authorization ,  and restriction facilities are supported to provide security Provides file service, web service, printing and replication Has Naming and Directory Management services Has  the provision  for user management and remote access & system management Also has internetworking features like routing and ...