<?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>DEV Community: Chandrashekhar Mehta</title>
    <description>The latest articles on DEV Community by Chandrashekhar Mehta (@chandrashekhar).</description>
    <link>https://dev.to/chandrashekhar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F489990%2F0acb727e-8770-41ef-be1a-7e344cd72857.jpg</url>
      <title>DEV Community: Chandrashekhar Mehta</title>
      <link>https://dev.to/chandrashekhar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chandrashekhar"/>
    <language>en</language>
    <item>
      <title>24 Zsh Plugins🔌 Every Developer &amp; DevOps Engineer 🖥 Should Use in 2025</title>
      <dc:creator>Chandrashekhar Mehta</dc:creator>
      <pubDate>Fri, 05 Dec 2025 10:22:51 +0000</pubDate>
      <link>https://dev.to/chandrashekhar/24-zsh-plugins-every-developer-devops-engineer-should-use-in-2025-383k</link>
      <guid>https://dev.to/chandrashekhar/24-zsh-plugins-every-developer-devops-engineer-should-use-in-2025-383k</guid>
      <description>&lt;p&gt;If you're using Zsh with Oh My Zsh, you're already ahead of the game. But are you leveraging the full power of its plugin ecosystem? Let me show you how to transform your terminal into a productivity powerhouse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before we dive in, make sure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zsh installed&lt;/strong&gt;: Check with &lt;code&gt;zsh --version&lt;/code&gt; (version 5.0 or higher recommended)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Oh My Zsh installed&lt;/strong&gt;: If not, install it with:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Git installed&lt;/strong&gt;: Required to clone the custom plugins&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic terminal knowledge&lt;/strong&gt;: You should know how to edit files with &lt;code&gt;nano&lt;/code&gt;, &lt;code&gt;vim&lt;/code&gt;, or your preferred editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To verify your setup:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check Zsh version&lt;/span&gt;
zsh &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# Check if Oh My Zsh is installed&lt;/span&gt;
&lt;span class="nb"&gt;ls&lt;/span&gt; ~/.oh-my-zsh

&lt;span class="c"&gt;# Check Git&lt;/span&gt;
git &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why Plugins Matter
&lt;/h2&gt;

&lt;p&gt;The default Zsh installation with Oh My Zsh comes with just the &lt;code&gt;git&lt;/code&gt; plugin enabled. While that's a good start, you're missing out on intelligent auto-completions, helpful aliases, and productivity shortcuts that can save you hours every week.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;First, let's install two community plugins that are absolute game-changers:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. zsh-autosuggestions (Fish-like suggestions)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. zsh-syntax-highlighting (Real-time command validation)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Power Plugin List
&lt;/h2&gt;

&lt;p&gt;Now, let's add the essential plugins. Open your &lt;code&gt;~/.zshrc&lt;/code&gt; file and replace the &lt;code&gt;plugins=()&lt;/code&gt; section with this configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;
  &lt;span class="c"&gt;# Version Control&lt;/span&gt;
  git

  &lt;span class="c"&gt;# Cloud &amp;amp; Infrastructure&lt;/span&gt;
  docker
  docker-compose
  kubectl
  helm
  terraform
  aws
  gcloud
  azure
  ansible

  &lt;span class="c"&gt;# Programming Languages &amp;amp; Tools&lt;/span&gt;
  python
  pip
  node
  npm
  yarn
  golang
  rust

  &lt;span class="c"&gt;# Productivity Boosters&lt;/span&gt;
  &lt;span class="nb"&gt;sudo&lt;/span&gt;              &lt;span class="c"&gt;# Press ESC twice to add sudo to previous command&lt;/span&gt;
  extract           &lt;span class="c"&gt;# Universal archive extractor (works with .tar, .zip, .gz, etc.)&lt;/span&gt;
  z                 &lt;span class="c"&gt;# Jump to frequently used directories&lt;/span&gt;
  &lt;span class="nb"&gt;history&lt;/span&gt;           &lt;span class="c"&gt;# Enhanced history commands&lt;/span&gt;
  command-not-found &lt;span class="c"&gt;# Suggests package to install for missing commands&lt;/span&gt;
  vscode            &lt;span class="c"&gt;# VS Code aliases and shortcuts&lt;/span&gt;

  &lt;span class="c"&gt;# Community Plugins (must be last)&lt;/span&gt;
  zsh-autosuggestions
  zsh-syntax-highlighting
&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Each Plugin Does
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cloud &amp;amp; Infrastructure Plugins
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;docker &amp;amp; docker-compose&lt;/strong&gt;: Auto-completion for containers, images, and compose commands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;kubectl&lt;/strong&gt;: Kubernetes command completion and helpful aliases (&lt;code&gt;k&lt;/code&gt; for &lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;kgp&lt;/code&gt; for &lt;code&gt;kubectl get pods&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;helm&lt;/strong&gt;: Helm chart management completions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;terraform&lt;/strong&gt;: Terraform command completion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;aws/gcloud/azure&lt;/strong&gt;: Cloud provider CLI completions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Language Plugins
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;python/pip&lt;/strong&gt;: Python environment and package management shortcuts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;node/npm/yarn&lt;/strong&gt;: JavaScript ecosystem completions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;golang/rust&lt;/strong&gt;: Language-specific tooling support&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Productivity Plugins
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;sudo&lt;/strong&gt;: Double-tap ESC to prefix your last command with &lt;code&gt;sudo&lt;/code&gt; (no more retyping!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;extract&lt;/strong&gt;: Use &lt;code&gt;extract &amp;lt;file&amp;gt;&lt;/code&gt; for any archive format - no need to remember tar flags&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;z&lt;/strong&gt;: After using it for a while, just type &lt;code&gt;z project&lt;/code&gt; to jump to &lt;code&gt;/home/user/dev/project&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;command-not-found&lt;/strong&gt;: Ubuntu/Debian feature that suggests which package to install&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Community Plugins
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;zsh-autosuggestions&lt;/strong&gt;: As you type, see suggestions based on your history (press → to accept)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;zsh-syntax-highlighting&lt;/strong&gt;: Commands turn green if valid, red if invalid - catch typos before running&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Activate Your Configuration
&lt;/h2&gt;

&lt;p&gt;After updating your &lt;code&gt;.zshrc&lt;/code&gt;, reload it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;source&lt;/span&gt; ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Real-World Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Before:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubctl get pods  &lt;span class="c"&gt;# Typo turns red immediately&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="c"&gt;# Realize mistake, fix it&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl get pods
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  After with plugins:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The typo is highlighted in red instantly&lt;/li&gt;
&lt;li&gt;Start typing &lt;code&gt;kub...&lt;/code&gt; and autosuggestions show &lt;code&gt;kubectl get pods&lt;/code&gt; from history&lt;/li&gt;
&lt;li&gt;Press → to accept&lt;/li&gt;
&lt;li&gt;Or use the &lt;code&gt;k&lt;/code&gt; alias: &lt;code&gt;k get pods&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Directory Navigation:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Old way&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/work/important-service/

&lt;span class="c"&gt;# With 'z' plugin (after visiting once)&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;z important
&lt;span class="c"&gt;# Instantly jumps to ~/projects/work/important-service/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Archive Extraction:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Old way&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xzvf&lt;/span&gt; file.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;unzip archive.zip
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xjf&lt;/span&gt; file.tar.bz2

&lt;span class="c"&gt;# New way with 'extract' plugin&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;extract file.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;extract archive.zip
&lt;span class="nv"&gt;$ &lt;/span&gt;extract file.tar.bz2
&lt;span class="c"&gt;# All work the same way!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Performance Considerations
&lt;/h2&gt;

&lt;p&gt;Having many plugins can slow down shell startup. If you notice lag:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Only enable plugins for tools you actually use&lt;/li&gt;
&lt;li&gt;Remove language plugins for languages you don't work with&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;time zsh -i -c exit&lt;/code&gt; to measure startup time&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Bonus: Useful Aliases from These Plugins
&lt;/h2&gt;

&lt;p&gt;Once activated, you get dozens of useful aliases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;dps&lt;/code&gt; = &lt;code&gt;docker ps&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dpa&lt;/code&gt; = &lt;code&gt;docker ps -a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dce&lt;/code&gt; = &lt;code&gt;docker-compose exec&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kubectl:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;k&lt;/code&gt; = &lt;code&gt;kubectl&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kgp&lt;/code&gt; = &lt;code&gt;kubectl get pods&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kgd&lt;/code&gt; = &lt;code&gt;kubectl get deployments&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kaf&lt;/code&gt; = &lt;code&gt;kubectl apply -f&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Git:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;gst&lt;/code&gt; = &lt;code&gt;git status&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gc&lt;/code&gt; = &lt;code&gt;git commit&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gp&lt;/code&gt; = &lt;code&gt;git push&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;gco&lt;/code&gt; = &lt;code&gt;git checkout&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Type &lt;code&gt;alias&lt;/code&gt; in your terminal to see all available aliases!&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explore themes&lt;/strong&gt;: Try &lt;code&gt;agnoster&lt;/code&gt; or &lt;code&gt;powerlevel10k&lt;/code&gt; for a beautiful prompt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom aliases&lt;/strong&gt;: Add your own in &lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.oh-my-zsh/custom/aliases.zsh&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discover more plugins&lt;/strong&gt;: Run &lt;code&gt;ls ~/.oh-my-zsh/plugins/&lt;/code&gt; to see 350+ available plugins&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;A well-configured terminal is a developer's best friend. These plugins transform Zsh from a simple shell into an intelligent assistant that autocompletes, suggests, and validates as you type. &lt;/p&gt;

&lt;p&gt;The initial setup takes 5 minutes, but you'll save hours every week through improved efficiency and reduced context-switching.&lt;/p&gt;

&lt;p&gt;What plugins do you use? Drop your favorites in the comments!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Found this helpful? Follow me for more developer productivity tips and DevOps tutorials!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>zsh</category>
      <category>ubuntu</category>
      <category>cli</category>
    </item>
    <item>
      <title>docker applications</title>
      <dc:creator>Chandrashekhar Mehta</dc:creator>
      <pubDate>Mon, 20 Jan 2025 10:26:30 +0000</pubDate>
      <link>https://dev.to/chandrashekhar/docker-applications-5fa7</link>
      <guid>https://dev.to/chandrashekhar/docker-applications-5fa7</guid>
      <description></description>
      <category>docker</category>
    </item>
    <item>
      <title>Docker Desktop is not working on Ubuntu 24.04 LTS ?</title>
      <dc:creator>Chandrashekhar Mehta</dc:creator>
      <pubDate>Sun, 29 Sep 2024 09:50:20 +0000</pubDate>
      <link>https://dev.to/chandrashekhar/docker-desktop-is-not-working-on-ubuntu-2404-lts--2kpa</link>
      <guid>https://dev.to/chandrashekhar/docker-desktop-is-not-working-on-ubuntu-2404-lts--2kpa</guid>
      <description>&lt;p&gt;Upgrading to Ubuntu 24.04 LTS may cause problems with Docker Desktop. Follow these steps to resolve them quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Prerequisites&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Internet connection.&lt;/li&gt;
&lt;li&gt;Docker CLI installed (&lt;a href="https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository" rel="noopener noreferrer"&gt;Guide here&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;GPG key setup (optional for Docker login).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Verify Docker CLI&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Run the following command in your terminal to verify Docker is working:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;docker run hello-world
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;If successful, proceed to install Docker Desktop.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Install Docker Desktop&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download Docker Desktop from &lt;a href="https://docs.docker.com/desktop/install/linux/ubuntu/#install-Docker-desktop" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Run these commands to install:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; ./docker-desktop-&amp;lt;&lt;span class="nb"&gt;arch&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;(Replace &lt;code&gt;&amp;lt;arch&amp;gt;&lt;/code&gt; with your system architecture, e.g., &lt;code&gt;amd64&lt;/code&gt;.)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3: Fix Permission Issues&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If Docker Desktop doesn’t open, fix the permissions by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'kernel.apparmor_restrict_unprivileged_userns = 0'&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/sysctl.d/20-apparmor-donotrestrict.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then restart your system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4: Set Up GPG Key (If Login Issues)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Install password manager:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Generate a GPG key:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   gpg &lt;span class="nt"&gt;--generate-key&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Initialize pass:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   pass init &lt;span class="s2"&gt;"your_email@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5: Restart Docker Desktop&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Log in with your Docker ID, and you’re all set! ✅&lt;/p&gt;




&lt;p&gt;If you have questions, feel free to ask in the comments. ✌🏻&lt;/p&gt;

</description>
      <category>docker</category>
      <category>ubuntu</category>
      <category>linux</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
