<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sunilraj &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/author/sunilraj/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Fri, 04 Feb 2022 10:28:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.1</generator>
	<item>
		<title>Why &#8216;kubernetes&#8217; service  ?</title>
		<link>https://www.bestdevops.com/why-kubernetes-service/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Thu, 02 Sep 2021 09:58:52 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20757</guid>

					<description><![CDATA[Analysis: kubectl describe svc kubernetes &#8216;kubernetes&#8217; is a clusterIP service. (ie can be accessed only inside the cluster.) It has [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><strong>Analysis:</strong></h2>



<p class="wp-block-paragraph"><strong>kubectl describe svc kubernetes</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-xml">Name:              kubernetes
Namespace:         default
Labels:            component=apiserver
                   provider=kubernetes
Annotations:       <span class="hljs-tag">&lt;<span class="hljs-name">none</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Selector:          <span class="hljs-tag">&lt;<span class="hljs-name">none</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Type:              ClusterIP<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.96.0.1
IPs:               10.96.0.1
Port:              https  443/TCP
TargetPort:        6443/TCP
<span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Endpoints:         172.31.15.134:6443<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
Session Affinity:  None
Events:            <span class="hljs-tag">&lt;<span class="hljs-name">none</span>&gt;</span></code></span></pre>


<ol class="wp-block-list"><li>&#8216;kubernetes&#8217; is a clusterIP service. (ie can be accessed only inside the cluster.)</li><li>It has no selector specified.( So no automatic LB.)</li><li>But endpoints specified(maybe hardcoded) as <strong>172.31.15.134:6443</strong> ( that means all the requests to this service will be routed to <strong>172.31.15.134:6443</strong>)</li><li>Now you can see the its the IP and port corresponding to APIServer pod.</li></ol>



<p class="wp-block-paragraph"><strong>Conclusion</strong>:</p>



<p class="wp-block-paragraph">So  kubernetes service act as  a service for  <span style="font-size: revert">APIServer </span> Pod.</p>



<p class="wp-block-paragraph">Other pods inside the cluster like Scheduler, Controller etc, can use this service to communicate with APIServer pod.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Pod in kubernetes. Explain 15 points with image as an example</title>
		<link>https://www.bestdevops.com/what-is-pod-in-kubernetes-explain-15-points-with-image-as-an-example/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:46:11 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20670</guid>

					<description><![CDATA[It is an atomic scheduling unit in a Kubernetes cluster. It is a logical unit. Every container running in the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image is-resized"><img fetchpriority="high" decoding="async" src="https://matthewpalmer.net/kubernetes-app-developer/articles/networking-overview.png" alt="Kubernetes Networking Guide for Beginners - Kubernetes Book" width="599" height="345" /><figcaption><strong>POD:</strong></figcaption></figure>



<ul class="wp-block-list"><li>It is an atomic scheduling unit in a Kubernetes cluster.</li><li>It is a logical unit.</li><li>Every container running in the cluster nodes will be wrapped up by the POD.</li><li>In one POD there can be multiple container running. It is called tight coupling.</li><li>Prefered way is run one container in one POD. It is called loose coupling.</li><li>Each POD will have its own IP address.</li><li>There will be POD nw connecting all the PODS in a cluster irrespective of the nodes.</li><li>Can communicate with each container by &lt;POD IP&gt;:&lt;Container port&gt;</li><li>All the contaniers in a POD can share the POD environment like networking.</li><li>PODs can specify the shared storage volumes and every container in the POD can access it.</li><li>Inside the POD the containers can communicate using localhost.</li><li>Containers with in the POD can also communicate using any IPC mechanism.</li><li>Containers with in different PODs can&#8217;t communicate using any IPC mechanism, without some special configuration.</li><li>POD has only two states: Pending and Running.</li><li>PODs can&#8217;t be re-deployed. So all the data associated with PODS will be lost once, it is down.</li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What are the components of Kubernetes master and explain each component&#8217;s function?</title>
		<link>https://www.bestdevops.com/what-are-the-components-of-kubernetes-master-and-explain-each-components-function-14/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:26:55 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20527</guid>

					<description><![CDATA[API Server: All the incoming/outgoing communication with Kubernetes cluster happening through API Server. APIServer is a RESTful server. Workstations/Client uses [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<figure class="wp-block-image is-resized"><img decoding="async" src="https://miro.medium.com/max/1200/0*r3DyRvMZJ_LUC9w4.png" alt="Kubernetes Master Components: Etcd, API Server, Controller Manager, and  Scheduler | by Jorge Acetozi | jorgeacetozi | Medium" width="548" height="531" /></figure>



<p class="wp-block-paragraph"><strong>API Server:</strong></p>



<ul class="wp-block-list"><li>All the incoming/outgoing communication with Kubernetes cluster happening through API Server.</li><li>APIServer is a RESTful server.</li><li>Workstations/Client uses Kubectl tool for communicating with the API Server.</li><li>API Server expects the inputs in JSON format.</li><li>All the communication with the Master node worker nodes are also happening through API Server.</li><li>Scheduler/Controller Manager uses API Server for all the communications with the worker nodes.</li><li>Authentication and authorization.</li></ul>



<p class="wp-block-paragraph"><strong>Etcd:</strong></p>



<ul class="wp-block-list"><li>This is the storage mechanism Kubernetes Master node has.</li><li>All the details about the cluster configurations and deployments details will be stored in it.</li><li>Stores in key-value format.</li><li>Communicates with API Server only.</li><li>Duties: Config management, Service discovery, Cordinating distributed work.</li><li>With out this we can say Kubernetes cluster is literally dead.</li></ul>



<p class="wp-block-paragraph"><strong>Scheduler:</strong></p>



<ul class="wp-block-list"><li>Scheduler is responsible for scheduling works to the available pods.</li><li>It intelligently distribute the work to different nodes based on the current work load of the nodes.</li><li>It also consider contraints, available resources etc, before assigning a work.</li><li>Scheduler will provide the self healing fecility on receiving request from controller manager.</li></ul>



<p class="wp-block-paragraph">C<strong>ontroller Manager:</strong></p>



<ul class="wp-block-list"><li>Controller manager controlls/monitors the state of each and everything in the cluster.</li><li>It repeatedly checks the health of each nodes and pods.</li><li>It used the watch mechansim provided by the API Server.</li><li>It will communicate with Scheduler if anything went wrong.</li></ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What are the components of Kubernetes worker and explain each component&#8217;s function?</title>
		<link>https://www.bestdevops.com/what-are-the-components-of-kubernetes-worker-and-explain-each-components-function-13/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 07:26:22 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20622</guid>

					<description><![CDATA[Kubelet: Resides in each worker nodes. Registers the node to the master node. Instantiate the Pods. Container Runtime (Docker): For [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image is-resized"><img decoding="async" src="https://lcom.static.linuxfound.org/sites/lcom/files/fig-1_3.png" alt="What Makes Up a Kubernetes Cluster? - Linux.com" width="564" height="422" /></figure>



<p class="wp-block-paragraph"><strong>Kubelet:</strong></p>



<ul class="wp-block-list"><li>Resides in each worker nodes.</li><li>Registers the node to the master node.</li><li>Instantiate the Pods.</li></ul>



<p class="wp-block-paragraph"><strong>Container Runtime (Docker):</strong></p>



<ul class="wp-block-list"><li>For managing and running the containers.</li></ul>



<p class="wp-block-paragraph">K<strong>ube-Proxy:</strong></p>



<ul class="wp-block-list"><li>It is a nw proxy.</li><li>Implements nw rules on PODS.</li><li>Fecilitate the communication with in the cluster and outside the cluster.</li><li>All the networking related  supports are done by this component.</li><li>Can say like a virtual n/w card for the nodes.</li><li>Responsible for assigning IP addresses and all.</li></ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Write down 10 features of Kubernetes with image.</title>
		<link>https://www.bestdevops.com/write-down-10-features-of-kubernetes-with-image-4/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 06:47:10 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20497</guid>

					<description><![CDATA[Kubernetes is an Orchestrator for running containers.Kubernetes provides auto scalability.Kubernetes provides load balancing.Kubernetes provides self healing feature.Kubernetes provides automated rollouts [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Kubernetes is an Orchestrator for running containers.<br>Kubernetes provides auto scalability.<br>Kubernetes provides load balancing.<br>Kubernetes provides self healing feature.<br>Kubernetes provides automated rollouts and rollbacks.<br>Kubernetes has persistant storage.<br>Kubernetes provides service discovery.<br>Kubernetes has secrets and config management.<br>Kubernetes provides automatic bin packing.<br>Kubernetes design follows microservice architecture.</p>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-image"><img decoding="async" src="https://static.javatpoint.com/tutorial/kubernetes/images/kubernetes-features.gif" alt="Kubernetes Tutorial - javatpoint" /></figure>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List out number of storage/volume drivers supported by docker?</title>
		<link>https://www.bestdevops.com/list-out-number-of-storage-volume-drivers-supported-by-docker-7/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 09:51:25 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20447</guid>

					<description><![CDATA[overlay2 overlay2&#160;is the preferred storage driver for all currently supported Linux distributions, and requires no extra configuration. fuse-overlayfs fuse-overlayfsis preferred [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-table"><table><tbody><tr><td><code>overlay2</code></td><td><code>overlay2</code>&nbsp;is the preferred storage driver for all currently supported Linux distributions, and requires no extra configuration.</td></tr><tr><td><code>fuse-overlayfs</code></td><td><code>fuse-overlayfs</code>is preferred only for running Rootless Docker on a host that does not provide support for rootless&nbsp;<code>overlay2</code>. On Ubuntu and Debian 10, the&nbsp;<code>fuse-overlayfs</code>&nbsp;driver does not need to be used, and&nbsp;<code>overlay2</code>&nbsp;works even in rootless mode. Refer to the&nbsp;<a href="https://docs.docker.com/engine/security/rootless/">rootless mode documentation</a>&nbsp;for details.</td></tr><tr><td><code>btrfs</code>&nbsp;and&nbsp;<code>zfs</code></td><td>The&nbsp;<code>btrfs</code>&nbsp;and&nbsp;<code>zfs</code>&nbsp;storage drivers allow for advanced options, such as creating “snapshots”, but require more maintenance and setup. Each of these relies on the backing filesystem being configured correctly.</td></tr><tr><td><code>vfs</code></td><td>The&nbsp;<code>vfs</code>&nbsp;storage driver is intended for testing purposes, and for situations where no copy-on-write filesystem can be used. Performance of this storage driver is poor, and is not generally recommended for production use.</td></tr><tr><td><code>aufs</code></td><td>The&nbsp;<code>aufs</code>&nbsp;storage driver Was the preferred storage driver for Docker 18.06 and older, when running on Ubuntu 14.04 on kernel 3.13 which had no support for&nbsp;<code>overlay2</code>. However, current versions of Ubuntu and Debian now have support for&nbsp;<code>overlay2</code>, which is now the recommended driver.</td></tr><tr><td><code>devicemapper</code></td><td>The&nbsp;<code>devicemapper</code>&nbsp;storage driver requires&nbsp;<code>direct-lvm</code>&nbsp;for production environments, because&nbsp;<code>loopback-lvm</code>, while zero-configuration, has very poor performance.&nbsp;<code>devicemapper</code>&nbsp;was the recommended storage driver for CentOS and RHEL, as their kernel version did not support&nbsp;<code>overlay2</code>. However, current versions of CentOS and RHEL now have support for&nbsp;<code>overlay2</code>, which is now the recommended driver.</td></tr></tbody></table></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy"  id="_ytid_46250"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdNVsbfTCwSq4hvG6i4_IjWt&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Docker Images and Exaplin in 10 bullet lines?</title>
		<link>https://www.bestdevops.com/what-is-docker-images-and-exaplin-in-10-bullet-lines-8/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 08:17:00 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20320</guid>

					<description><![CDATA[Docker image is a collection of files systems. It will have a ROOT FS, USR FS, APP FS. ONE Copy [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list"><li>Docker image is a collection of files systems.</li><li>It will have a ROOT FS, USR FS, APP FS.</li><li>ONE Copy of Docker image get attached to each Container</li><li>From one Image &#8211; you can get multiple Container.</li><li>Docker uses storage drivers to store image layers, and to store data in the writable layer of a container.&nbsp;</li><li>Docker image file systems strcutured in a layerd way.</li><li>All layers in a docker image is Read only.</li><li>All layers in an image is merged to one layer while creating the container. ( Union Mount)</li><li>Layer 0 have the root filesystem</li><li>Each layer in image will have 40 character length UUID generated by SHA 256 algorithm.</li></ul>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy"  id="_ytid_82367"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdNVsbfTCwSq4hvG6i4_IjWt&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List out all INSTRUCTION statement of dockerfile and give one line explanation. &#8211;  Draft</title>
		<link>https://www.bestdevops.com/list-out-all-instruction-statement-of-dockerfile-and-give-one-line-explanation-draft/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 08:16:06 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20343</guid>

					<description><![CDATA[Dockerfile commands DOCKER file Commands Details 1 FROM Taking the base image 2 MAINTAINER Creater of the dockerfile 3 RUN [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong><br>Dockerfile commands</strong></p>



<figure class="wp-block-table"><table><tbody><tr><td></td><td><strong>DOCKER file Commands</strong></td><td><strong>Details</strong></td></tr><tr><td>1</td><td> FROM  </td><td>Taking the base image</td></tr><tr><td>2</td><td> MAINTAINER  </td><td>Creater of the dockerfile</td></tr><tr><td>3</td><td> RUN  </td><td>Run command in the container of the previous layer</td></tr><tr><td>4</td><td>ARG</td><td>Set a variable for the dockerfile and reuse it ${var}. Scope is only during the building process.</td></tr><tr><td>5</td><td>EXPOSE</td><td> Specifying information port for the container </td></tr><tr><td>6</td><td>COPY</td><td>Copy the files to the image</td></tr><tr><td>7</td><td>ADD/EXTRACT</td><td>Extract + Copy compressed files to the image</td></tr><tr><td>8</td><td>USER</td><td>Set a container the runtime user.</td></tr><tr><td>9</td><td>CMD</td><td>To set PID 1 </td></tr><tr><td>10</td><td>ENTRYPOINT</td><td> To set PID 1  </td></tr><tr><td>11</td><td>ENV</td><td>For setting the environment variable in the container.</td></tr><tr><td>12</td><td>VOLUME</td><td>Create or mount a volume to the docker contanier from the docker host file system.</td></tr><tr><td>13</td><td>WORKDIR</td><td>Sets the working directory or context inside the image we are building.</td></tr><tr><td>14</td><td>ONBUILD&nbsp;</td><td>For specifying the command to run when the image in the docker file is used as the base image for another docker image.</td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td></tr></tbody></table></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy"  id="_ytid_21385"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdNVsbfTCwSq4hvG6i4_IjWt&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Build all these 5 images and run container and observe the use cases of it.</title>
		<link>https://www.bestdevops.com/build-all-these-5-images-and-run-container-and-observe-the-use-cases-of-it/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 08:08:12 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20352</guid>

					<description><![CDATA[https://devopsschool.com/tutorial/docker/dockerfile/dockerfile-example-sample-lab.html Docker File 1: /usr/sbin/apache2ctl specified in CMD will run in foreground as a blocking call. Docker File 2: Just [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://devopsschool.com/tutorial/docker/dockerfile/dockerfile-example-sample-lab.html" target="_blank" rel="noreferrer noopener">https://devopsschool.com/tutorial/docker/dockerfile/dockerfile-example-sample-lab.html</a></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<ul class="wp-block-list"><li><strong>Docker File 1:</strong>  /usr/sbin/apache2ctl specified in CMD will run in foreground as a blocking call.</li><li><strong>Docker File 2:</strong> Just exit after echoing &#8220;Hello world&#8221;.</li><li><strong>Docker File 3:</strong>  Just exit after echoing &#8220;Hello&#8221;.</li><li><strong>Docker File 4:</strong>  Same as &#8216;<strong>Docker File 1</strong>&#8216; except port 80 will be shown as exposed port.</li><li><strong>Docker File 5:</strong>   Output will be print like : &#8220;Hello /bin/sh -c echo &#8220;Hello world&#8221;&#8221;. First it will execute ENTRYPOINT then content of CMD will be passed as an arument that entry point command.</li></ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Write a example dockerfile with 2 CMD, 2 ENTRYPOINT and 1 CMD/1ENTRYPOINT and write down a behaviour of it.</title>
		<link>https://www.bestdevops.com/write-a-example-dockerfile-with-2-cmd-2-entrypoint-and-1-cmd-1entrypoint-and-write-down-a-behaviour-of-it/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 08:07:22 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20375</guid>

					<description><![CDATA[Dockerfile with 2 CMD, 2 ENTRYPOINT: File content: Output: Welcome to /bin/sh -c echo &#8220;DOCKER&#8221; Observations: Both CMD and ENTRYPOINT [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="dockerfile-with-2-cmd-2-entrypoint"><strong>Dockerfile with 2 CMD, 2 ENTRYPOINT</strong>:</h2>



<p class="wp-block-paragraph"><strong>File content:</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">FROM</span> <span class="hljs-selector-tag">ubuntu</span>
<span class="hljs-selector-tag">MAINTAINER</span> <span class="hljs-selector-tag">Sunil</span> &lt;&lt; <span class="hljs-selector-tag">r</span><span class="hljs-selector-class">.s</span><span class="hljs-selector-class">.sunil</span><span class="hljs-keyword">@gmail</span>.com&gt;&gt;
CMD <span class="hljs-string">"World"</span> 
CMD echo <span class="hljs-string">"DOCKER"</span>
ENTRYPOINT &#91;<span class="hljs-string">"/bin/echo"</span>, <span class="hljs-string">"Hello"</span>]
ENTRYPOINT &#91;<span class="hljs-string">"/bin/echo"</span>, <span class="hljs-string">"Welcome to"</span>]</code></span></pre>


<p class="wp-block-paragraph"><strong>Output:</strong></p>



<p class="wp-block-paragraph">Welcome to /bin/sh -c echo &#8220;DOCKER&#8221;</p>



<p class="wp-block-paragraph"><strong>Observations:</strong></p>



<ul class="wp-block-list"><li>Both CMD and ENTRYPOINT entries will be overwritten with the latest entries.</li><li>That is only the last CMD and ENTRYPOINT will be taken.</li><li>Also the values specified in CMD will be add as an argument to the ENTRYPOINT command.</li></ul>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading" id="dockerfile-with-1-cmd-1-entrypoint"><strong>Dockerfile with 1 CMD, 1 ENTRYPOINT</strong>:</h2>



<p class="wp-block-paragraph"><strong>File content:</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">FROM</span> <span class="hljs-selector-tag">ubuntu</span>
<span class="hljs-selector-tag">MAINTAINER</span> <span class="hljs-selector-tag">Sunil</span> &lt;&lt; <span class="hljs-selector-tag">r</span><span class="hljs-selector-class">.s</span><span class="hljs-selector-class">.sunil</span><span class="hljs-keyword">@gmail</span>.com&gt;&gt;
CMD <span class="hljs-string">"World"</span> 
ENTRYPOINT &#91;<span class="hljs-string">"/bin/echo"</span>, <span class="hljs-string">"Hello "</span>]</code></span></pre>


<p class="wp-block-paragraph"><strong>Output:</strong></p>



<p class="wp-block-paragraph">Hello World</p>



<p class="wp-block-paragraph"><strong>Observations:</strong></p>



<ul class="wp-block-list"><li>V<span style="font-size: 1rem">alues specified in CMD will be add as an argument to the ENTRYPOINT command.</span></li></ul>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy"  id="_ytid_53186"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdNVsbfTCwSq4hvG6i4_IjWt&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Storage Driver and types of Storage Driver? Explained with Images.</title>
		<link>https://www.bestdevops.com/what-is-storage-driver-and-types-of-storage-driver-explained-with-images-3/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Tue, 31 Aug 2021 05:04:30 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20209</guid>

					<description><![CDATA[Docker supports several storage drivers, using a pluggable architecture. The storage driver controls how images and containers are stored and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Docker supports several storage drivers, using a pluggable architecture. The storage driver controls how images and containers are stored and managed on your Docker host.</p>



<figure class="wp-block-image"><img decoding="async" src="https://docs.docker.com/storage/storagedriver/images/container-layers.jpg" alt="About storage drivers | Docker Documentation" /></figure>



<ul class="wp-block-list"><li>Docker uses storage drivers to store image layers </li><li>Docker uses storage drivers to store data in the writable layer of a container.</li><li>The container’s writable layer does not persist after the container is deleted, but is suitable for storing temp data generated at runtime.</li><li>Storage drivers are optimized for space efficiency.</li><li>But write speeds are lower than native file system performance.</li></ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">The Docker Engine provides the following storage drivers on Linux:</p>



<figure class="wp-block-table"><table><thead><tr><th>Driver</th><th>Description</th></tr></thead><tbody><tr><td><code>overlay2</code></td><td><code>overlay2</code>&nbsp;is the preferred storage driver for all currently supported Linux distributions, and requires no extra configuration.</td></tr><tr><td><code>fuse-overlayfs</code></td><td><code>fuse-overlayfs</code>is preferred only for running Rootless Docker on a host that does not provide support for rootless&nbsp;<code>overlay2</code>. On Ubuntu and Debian 10, the&nbsp;<code>fuse-overlayfs</code>&nbsp;driver does not need to be used, and&nbsp;<code>overlay2</code>&nbsp;works even in rootless mode. Refer to the&nbsp;<a href="https://docs.docker.com/engine/security/rootless/">rootless mode documentation</a>&nbsp;for details.</td></tr><tr><td><code>btrfs</code>&nbsp;and&nbsp;<code>zfs</code></td><td>The&nbsp;<code>btrfs</code>&nbsp;and&nbsp;<code>zfs</code>&nbsp;storage drivers allow for advanced options, such as creating “snapshots”, but require more maintenance and setup. Each of these relies on the backing filesystem being configured correctly.</td></tr><tr><td><code>vfs</code></td><td>The&nbsp;<code>vfs</code>&nbsp;storage driver is intended for testing purposes, and for situations where no copy-on-write filesystem can be used. Performance of this storage driver is poor, and is not generally recommended for production use.</td></tr><tr><td><code>aufs</code></td><td>The&nbsp;<code>aufs</code>&nbsp;storage driver Was the preferred storage driver for Docker 18.06 and older, when running on Ubuntu 14.04 on kernel 3.13 which had no support for&nbsp;<code>overlay2</code>. However, current versions of Ubuntu and Debian now have support for&nbsp;<code>overlay2</code>, which is now the recommended driver.</td></tr><tr><td><code>devicemapper</code></td><td>The&nbsp;<code>devicemapper</code>&nbsp;storage driver requires&nbsp;<code>direct-lvm</code>&nbsp;for production environments, because&nbsp;<code>loopback-lvm</code>, while zero-configuration, has very poor performance.&nbsp;<code>devicemapper</code>&nbsp;was the recommended storage driver for CentOS and RHEL, as their kernel version did not support&nbsp;<code>overlay2</code>. However, current versions of CentOS and RHEL now have support for&nbsp;<code>overlay2</code>, which is now the recommended driver.</td></tr><tr><td><code>overlay</code></td><td>The legacy&nbsp;<code>overlay</code>&nbsp;driver was used for kernels that did not support the “multiple-lowerdir” feature required for&nbsp;<code>overlay2</code>&nbsp;All currently supported Linux distributions now provide support for this, and it is therefore deprecated.</td></tr></tbody></table></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List of Top 5 docker images from hub.docker.com and create a running container of it and try to use it.</title>
		<link>https://www.bestdevops.com/list-of-top-5-docker-images-from-hub-docker-com-and-create-a-running-container-of-it-and-try-to-use-it-2/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 11:40:50 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20136</guid>

					<description><![CDATA[Tried: docker pull dockerdocker pull fluentddocker pull pypydocker pull centosdocker pull mongo]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"> <strong>Tried:</strong></p>



<p class="wp-block-paragraph">docker pull docker<br>docker pull fluentd<br>docker pull pypy<br>docker pull centos<br>docker pull mongo</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the use of &#8220;docker wait&#8221; commands? with example and image</title>
		<link>https://www.bestdevops.com/what-is-the-use-of-docker-wait-commands-with-example-and-image/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 11:26:51 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20105</guid>

					<description><![CDATA[Block until one or more containers stop, then print their exit codes. Example: Terminal 1: root@ip-172-31-28-155:/home/ubuntu# docker wait test_su1 Terminal [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Block until one or more containers stop, then print their exit codes.</p>



<p class="wp-block-paragraph"><strong>Example:</strong></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Terminal 1: </p>



<p class="wp-block-paragraph"> root@ip-172-31-28-155:/home/ubuntu# docker wait test_su1</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Terminal 2:</p>



<p class="wp-block-paragraph"> root@ip-172-31-28-155:/home/ubuntu# docker stop test_su1</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"> Terminal 1:   </p>



<p class="wp-block-paragraph">root@ip-172-31-28-155:/home/ubuntu# docker wait test_su1<br><strong>0</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the use of &#8220;docker update&#8221; commands? with example and image</title>
		<link>https://www.bestdevops.com/what-is-the-use-of-docker-update-commands-with-example-and-image-3/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 11:20:55 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20075</guid>

					<description><![CDATA[Used for updating the various confgurations of a container or multiple containers. We can update the configuration of running/stopped containers [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Used for updating the various confgurations of a container or multiple containers.</p>



<p class="wp-block-paragraph">We can update the configuration of running/stopped containers except  &#8211;kernel-memory.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Various Options available.</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="802" height="684" src="https://www.bestdevops.com/wp-content/uploads/2021/08/image-141.png" alt="" class="wp-image-20101" srcset="https://www.bestdevops.com/wp-content/uploads/2021/08/image-141.png 802w, https://www.bestdevops.com/wp-content/uploads/2021/08/image-141-300x256.png 300w, https://www.bestdevops.com/wp-content/uploads/2021/08/image-141-768x655.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>



<p class="wp-block-paragraph"><strong>Use case:</strong></p>



<p class="wp-block-paragraph">The main usecase is to limit the amount of host resources like CPU, RAM , that can be used by the container.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the differenece between docker pause and docker unpause?</title>
		<link>https://www.bestdevops.com/what-is-the-differenece-between-docker-pause-and-docker-unpause-3/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 07:45:48 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20025</guid>

					<description><![CDATA[Docker Puase: Just puasing all processes inside the container by generating a SIGSTOP signal. Process state will goes to suspended. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Docker Puase:</strong> Just puasing all processes inside the container by generating a SIGSTOP signal. Process state will goes to suspended.</p>



<p class="wp-block-paragraph"><strong>Docker Unpuase</strong>: Resuming the container porcesses.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the differenece between docker stop and docker kill?</title>
		<link>https://www.bestdevops.com/what-is-the-differenece-between-docker-stop-and-docker-kill-3/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 07:42:32 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20011</guid>

					<description><![CDATA[Docker stop: Graceful exit. Apps can catch the signal(SIGTERM) and ignore/handle it. Normally APPS will do some cleanup activities by [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Docker stop: </strong>Graceful exit. Apps can catch the signal(SIGTERM) and ignore/handle it.</p>



<p class="wp-block-paragraph">Normally APPS will do some cleanup activities by handling it.</p>



<p class="wp-block-paragraph"><strong>Docker Kill:</strong> Forceful exit. Generate  SIGKILL signal.Apps can&#8217;t catch or ignore. </p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Explain What is Docker Container with image?</title>
		<link>https://www.bestdevops.com/explain-what-is-docker-container-with-image-5/</link>
		
		<dc:creator><![CDATA[Sunilraj]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 07:38:21 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19949</guid>

					<description><![CDATA[Docker Container: A running instance of docker container image. Docker Container Image: It is a lightweight, standalone, executable package of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Docker Container:</strong></p>



<p class="wp-block-paragraph">A running instance of docker container image.</p>



<p class="wp-block-paragraph"><strong>Docker Container Image:</strong></p>



<p class="wp-block-paragraph">It is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.</p>



<p class="wp-block-paragraph">Its basically a collection of file systems. It will have a ROOT FS, USER FS and one or more APP FS.</p>



<p class="wp-block-paragraph">Can use single container image to run multiple containers.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
