<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Debug School: Sivakumar S</title>
    <description>The latest articles on Debug School by Sivakumar S (@sivakumarsiya_779).</description>
    <link>https://www.debug.school/sivakumarsiya_779</link>
    <image>
      <url>https://www.debug.school/images/kLBv0f6nqvn6mvHOkpnByM8gKd1G13lLIoy5MmPgWKg/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzIwMi8yZDcw/NzkyZi1hNDIzLTRk/ZWYtOGU1Yy0zNTIx/ZWFhOTIxYzEucG5n</url>
      <title>Debug School: Sivakumar S</title>
      <link>https://www.debug.school/sivakumarsiya_779</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/sivakumarsiya_779"/>
    <language>en</language>
    <item>
      <title>git commands</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Fri, 18 Nov 2022 07:28:00 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/git-commands-2jdc</link>
      <guid>https://www.debug.school/sivakumarsiya_779/git-commands-2jdc</guid>
      <description>&lt;p&gt;Git command line tool reference:&lt;/p&gt;

&lt;p&gt;1.git version  = to print version of git&lt;br&gt;
2.git init     = to initiate git repository in current work-dir&lt;br&gt;
3.git add  = to add specified file to staging area&lt;br&gt;
4.git add . = to add all files in current work-dir to staging area&lt;br&gt;
5.git config user.name = to set up username(author) in config&lt;br&gt;
6.git config user.email = to add email id of the user&lt;br&gt;
7.git commit -m"message" = to commit changes in repo with message(-m)&lt;br&gt;
8.git log = to prints the logs of git operations in repo&lt;br&gt;
9.git log --oneline = to print logs entry in one line format&lt;br&gt;
10.git show = prints commit details of the repo with change details&lt;br&gt;
11.git show  = prints detial of the speicied commit with change details&lt;br&gt;
12.git rm  = removes file in the work-dir&lt;br&gt;
13.git mv   = renames file in workdir&lt;br&gt;
14.git mv   = moves specified file to new location&lt;br&gt;
15.git branch = print list of branches in current repo&lt;br&gt;
16.git branch  = create new branch with given name&lt;br&gt;
17.git checkout  = changes the session to speicified branch or tag of the repo (points the head to specified branch or tag)&lt;br&gt;
18.git remote add origin  = adds the remote repo as remote origin for easy transaction&lt;br&gt;
19.git push   = pushes (upload) the repo to remote repo mentioned as URL and to specified branch&lt;br&gt;
20.git pull   = pulls (download) the repo from remote repo to current repo and merge with specified branch&lt;br&gt;
21.git fetch  = pulls (download) the repo and will not merge with current branch, this will be created as remote branch in current repo&lt;br&gt;
22.git switch - = set the session to previous branch (master branch) (moves the head)&lt;br&gt;
23.git reset  = rollback mentioned file from staging&lt;br&gt;
24.git revert  = to go back to another commit id version&lt;br&gt;
25.git clean -f -d = clears the repo and work dir&lt;br&gt;
26.git merge  = unified the master and mentioned branch of repo&lt;br&gt;
27.git cherry-pick  = pics the mentioned commit id (cherry pick) from available cherries.&lt;/p&gt;

</description>
      <category>git</category>
    </item>
    <item>
      <title>Docker tmpfs volume using memory</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Wed, 16 Nov 2022 04:42:00 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/docker-tmpfs-volume-using-memory-20p7</link>
      <guid>https://www.debug.school/sivakumarsiya_779/docker-tmpfs-volume-using-memory-20p7</guid>
      <description>&lt;p&gt;this is another type of filesystem - unlike docker volume and mountfs, this tmpfs is stored in host node's memory temporarily,  when we stop the container, the data written to this tmpfs will be lost.&lt;/p&gt;

&lt;p&gt;we can use below command to attach tmpfs to container&lt;/p&gt;

&lt;p&gt;docker run -itd --name  --mount type=tmpfs,destination=/opt/example ubuntu&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Docker Images</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Tue, 15 Nov 2022 06:27:35 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/docker-images-2pkl</link>
      <guid>https://www.debug.school/sivakumarsiya_779/docker-images-2pkl</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Docker image is collection of filesystems in simple.&lt;/li&gt;
&lt;li&gt;Docker images contains the ROOTFS (root file system), USERFS (user file system), APPFS (application file systems for OPENJDK,TOMCAT and CUSTOMAPPS).&lt;/li&gt;
&lt;li&gt;ROOTFS and USERFS together called as basic layer of an image.&lt;/li&gt;
&lt;li&gt;APPFS (for example: openjdk, tomcat, custom app) together called as application layer of an image.&lt;/li&gt;
&lt;li&gt;to fine the storage driver used by docker server, run docker info and see the storage driver output.&lt;/li&gt;
&lt;li&gt;overlay2 is one of the storage driver used in docker to store docker images.&lt;/li&gt;
&lt;li&gt;overlay2 directory is located inside of DOCKER-ROOT directory, whenever we pull images from other repository (like docker hub), that image layers will be stored in overlay2 directory as image layer sub directories.&lt;/li&gt;
&lt;li&gt;when we create docker runtime, all layers of that image will be merged as single layer and attached to container as single mount (MNT) file system.&lt;/li&gt;
&lt;li&gt;whenever we make changes (like writing file/updating file), that changes will get updated in both merged layer and image layer.&lt;/li&gt;
&lt;li&gt;Docker uses sha2-256bit algorithm for encryption of docker images.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>docker</category>
    </item>
    <item>
      <title>Docker Update and wait operations</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Tue, 15 Nov 2022 04:28:31 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/docker-update-and-wait-operations-37hk</link>
      <guid>https://www.debug.school/sivakumarsiya_779/docker-update-and-wait-operations-37hk</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Docker Update:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker update command is used to change the configuration of docker runtime to modify the resources like number of CPU, memory limit, PID limit dynamically to avoid limit the usage of resources on the host machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Docker wait:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker wait command is used to wait until one or more containers stop - this is mostly used in scripts to wait for job inside the container to complete and continue the next action.&lt;/p&gt;

</description>
      <category>docker</category>
    </item>
    <item>
      <title>Docker Pause-stop-kill</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Mon, 14 Nov 2022 10:10:00 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/docker-pause-stop-kill-2gb0</link>
      <guid>https://www.debug.school/sivakumarsiya_779/docker-pause-stop-kill-2gb0</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Docker Pause:&lt;/strong&gt;&lt;br&gt;
when we execute pause for a container - that particular process is suspended and we can see that process is still alive as unlike kill or stop command execution&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Docker unpause:&lt;/strong&gt;&lt;br&gt;
Docker unpause command will resume the suspended containers process from where it suspended.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Docker stop:&lt;/strong&gt;&lt;br&gt;
this command will execute SIGTERM (soft kill) to container's main process and after the grace period (optional), will execute SIGKILL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Docker kill:&lt;/strong&gt;&lt;br&gt;
this command will execute SIGKILL (immediate termination - Exit code 137) signal to container's main process and optionally we can use --signal parameter to specify the system call signal&lt;/p&gt;

</description>
      <category>docker</category>
    </item>
    <item>
      <title>Understanding about Docker Engines</title>
      <dc:creator>Sivakumar S</dc:creator>
      <pubDate>Mon, 14 Nov 2022 07:18:12 +0000</pubDate>
      <link>https://www.debug.school/sivakumarsiya_779/understanding-about-docker-engines-5g59</link>
      <guid>https://www.debug.school/sivakumarsiya_779/understanding-about-docker-engines-5g59</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;What is Docker: Docker engine is container management tool - can be used to do life cycle operations of container runtime&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Why Docker: using this Docker Engine, we can save time (in deployment), save cost (spending in hardware and operation system) and improve the quality of applications (performance).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is Container: Container is runtime of the image that contains the base layer and application layer. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Docker Workflow: we get docker client cli and docker server process when we install docker engine, the docker client will make use of REST API to communicate with the Docker server process. the docker server will make use of libraries like libvirt, LXC to talk to kernal of the operating system to create the required namespaces.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How container created: container is created when we run "docker run ", the client will talk to docker daemon to check the image availability, if the image is not available in the local repository, then docker daemon will connect to docker hub repository and download the copy of image, then it will run the image.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>docker</category>
      <category>container</category>
    </item>
  </channel>
</rss>
