<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.devilplan.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.devilplan.com/feed.php">
        <title>Luci4 Wiki Blog - linux:docker</title>
        <description></description>
        <link>https://wiki.devilplan.com/</link>
        <image rdf:resource="https://wiki.devilplan.com/_media/wiki:logo.png" />
       <dc:date>2026-04-05T12:07:01+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.devilplan.com/linux:docker:installation"/>
                <rdf:li rdf:resource="https://wiki.devilplan.com/linux:docker:network_debug"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.devilplan.com/_media/wiki:logo.png">
        <title>Luci4 Wiki Blog</title>
        <link>https://wiki.devilplan.com/</link>
        <url>https://wiki.devilplan.com/_media/wiki:logo.png</url>
    </image>
    <item rdf:about="https://wiki.devilplan.com/linux:docker:installation">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-07T17:23:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>installation</title>
        <link>https://wiki.devilplan.com/linux:docker:installation</link>
        <description>


&lt;h2 class=&quot;sectionedit1&quot; id=&quot;chapter_1how_to_install_and_use_docker_on_ubuntu_2204&quot;&gt;Chapter 1: How to Install and Use Docker on Ubuntu 22.04&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Docker&lt;/strong&gt; is a platform that enables developers to automate the deployment of applications inside lightweight, portable containers. Here&amp;#039;s how to install and use Docker on Ubuntu Server 22.04:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Chapter 1: How to Install and Use Docker on Ubuntu 22.04&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chapter_1how_to_install_and_use_docker_on_ubuntu_2204&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;10-265&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;installation_steps&quot;&gt;Installation steps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Install the necessary packages that allow &lt;code&gt;apt&lt;/code&gt; to use repositories over HTTPS:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt install apt-transport-https \
ca-certificates curl software-properties-common&lt;/pre&gt;

&lt;p&gt;
Add Docker’s official GPG key to verify the authenticity of the packages:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg&lt;/pre&gt;

&lt;p&gt;
Add Docker’s official repository to your system’s software repository list:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot; | \
sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;/pre&gt;

&lt;p&gt;
Update the package index again to include Docker&amp;#039;s packages:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo apt update&lt;/pre&gt;

&lt;p&gt;
Install Docker Engine and related components:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo apt install docker-ce docker-ce-cli containerd.io&lt;/pre&gt;

&lt;p&gt;
Check the status of Docker to ensure it&amp;#039;s running:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo systemctl status docker&lt;/pre&gt;

&lt;p&gt;
You should see output indicating that Docker is active and running.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installation steps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_steps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;266-1358&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;step_2enable_non-root_user_access_optional&quot;&gt;Step 2: Enable Non-Root User Access (Optional)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To allow your user to run Docker commands without &lt;code&gt;sudo&lt;/code&gt;, add your user to the Docker group:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo usermod -aG docker $USER&lt;/pre&gt;

&lt;p&gt;
Apply the group membership changes:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
newgrp docker&lt;/pre&gt;

&lt;p&gt;
Now, you can run Docker commands without &lt;code&gt;sudo&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 2: Enable Non-Root User Access (Optional)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_2enable_non-root_user_access_optional&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1359-1653&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;step_3test_docker_installation&quot;&gt;Step 3: Test Docker Installation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Run a test container to verify that Docker is working correctly:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker run hello-world&lt;/pre&gt;

&lt;p&gt;
If Docker is installed correctly, you should see a message saying “Hello from Docker!”
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 3: Test Docker Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_3test_docker_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1654-1882&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;chapter_2how_to_install_and_use_docker_compose_on_ubuntu_2204&quot;&gt;Chapter 2: How to Install and Use Docker Compose on Ubuntu 22.04&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Docker Compose&lt;/strong&gt; is a tool that allows you to define and manage multi-container Docker applications. Here&amp;#039;s how to install and use Docker Compose on Ubuntu 22.04:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Chapter 2: How to Install and Use Docker Compose on Ubuntu 22.04&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chapter_2how_to_install_and_use_docker_compose_on_ubuntu_2204&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1883-2117&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;step_1install_docker_compose_plugin&quot;&gt;Step 1: Install Docker Compose Plugin&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Docker Compose is now included as a plugin in Docker Engine. To install it:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo apt install docker-compose-plugin&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 1: Install Docker Compose Plugin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_1install_docker_compose_plugin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2118-2285&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;step_2verify_docker_compose_installation&quot;&gt;Step 2: Verify Docker Compose Installation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Check the version of Docker Compose to ensure it&amp;#039;s installed correctly:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose version&lt;/pre&gt;

&lt;p&gt;
You should see output indicating the version of Docker Compose installed.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 2: Verify Docker Compose Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_2verify_docker_compose_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2286-2513&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;step_3create_a_docker_compose_project&quot;&gt;Step 3: Create a Docker Compose Project&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To define and run multi-container applications:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Create a project directory:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;
mkdir ~/myapp
cd ~/myapp&lt;/pre&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Create a &lt;code&gt;docker-compose.yml&lt;/code&gt; file:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;
vim docker-compose.yml&lt;/pre&gt;

&lt;p&gt;
Add the following content to define a simple web application with Nginx:
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wiki.devilplan.com/_export/code/linux:docker:installation?codeblock=13&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_yaml&quot;&gt;snippet.yaml&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file yaml&quot;&gt;&lt;span class=&quot;co3&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&#039;3.8&#039;&lt;span class=&quot;co4&quot;&gt;
services&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  web&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    image&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;nginx:latest&lt;span class=&quot;co4&quot;&gt;
    ports&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;8080:80&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Start the application:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose up -d&lt;/pre&gt;

&lt;p&gt;
The &lt;code&gt;-d&lt;/code&gt; flag runs the containers in detached mode.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Verify the running containers:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;
   docker ps&lt;/pre&gt;

&lt;p&gt;
You should see the Nginx container listed.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Access the application:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Open a web browser and navigate to &lt;code&gt;http://localhost:8080&lt;/code&gt;. You should see the Nginx welcome page.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 3: Create a Docker Compose Project&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_3create_a_docker_compose_project&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2514-3256&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;step_4manage_docker_compose_applications&quot;&gt;Step 4: Manage Docker Compose Applications&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Docker Compose provides several commands to manage your applications:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;Stop the Application&lt;/strong&gt;:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose down&lt;/pre&gt;

&lt;p&gt;
This stops and removes all containers defined in the &lt;code&gt;docker-compose.yml&lt;/code&gt; file.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;View Logs&lt;/strong&gt;:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose logs&lt;/pre&gt;

&lt;p&gt;
This displays the logs of all containers. You can specify a service to view logs for a specific container:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose logs web&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;Scale Services&lt;/strong&gt;:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;
  docker compose up -d --scale web=3&lt;/pre&gt;

&lt;p&gt;
 This scales the &lt;code&gt;web&lt;/code&gt; service to 3 instances.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;View Service Status&lt;/strong&gt;:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;
docker compose ps&lt;/pre&gt;

&lt;p&gt;
This lists the status of all services defined in the &lt;code&gt;docker-compose.yml&lt;/code&gt; file.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Step 4: Manage Docker Compose Applications&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step_4manage_docker_compose_applications&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3257-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.devilplan.com/linux:docker:network_debug">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-17T18:24:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>network_debug</title>
        <link>https://wiki.devilplan.com/linux:docker:network_debug</link>
        <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;docker_network_tools_for_debugging&quot;&gt;Docker, Network Tools for Debugging&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;code&gt;netshoot&lt;/code&gt; is like a network diagnostics toolbox in a container.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Great for debugging Docker networking issues without bloating your app containers.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;Safe to use and easy to clean up.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
The &lt;strong&gt;&lt;code&gt;nicolaka/netshoot&lt;/code&gt;&lt;/strong&gt; container is a &lt;strong&gt;purpose-built Docker image for network troubleshooting&lt;/strong&gt; — it’s like a Swiss Army knife for diagnosing container network issues.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker, Network Tools for Debugging&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker_network_tools_for_debugging&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;10-422&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;what_is_netshoot&quot;&gt;What Is netshoot?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;Docker&lt;/strong&gt;: &lt;a href=&quot;https://hub.docker.com/r/nicolaka/netshoot&quot; class=&quot;urlextern&quot; title=&quot;https://hub.docker.com/r/nicolaka/netshoot&quot; rel=&quot;ugc nofollow&quot;&gt;nicolaka/netshoot&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;Base image&lt;/strong&gt;: Alpine Linux (lightweight and fast)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: Gives you a fully-loaded container environment with network troubleshooting tools, ideal for debugging Docker networks, container &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; issues, firewall rules, etc.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;What Is netshoot?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;what_is_netshoot&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;423-761&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;🛠️_tools_included_examples&quot;&gt;🛠️ Tools Included (examples):&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;code&gt;netshoot&lt;/code&gt; comes preloaded with tools like:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit4&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool                  &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose                               &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;traceroute&lt;/code&gt;   &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Test basic connectivity and routing   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;wget&lt;/code&gt;         &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Test HTTP/HTTPS endpoints             &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;dig&lt;/code&gt;, &lt;code&gt;nslookup&lt;/code&gt;      &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Debug &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; resolution                  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;netstat&lt;/code&gt;, &lt;code&gt;ss&lt;/code&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; View network sockets and connections  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;tcpdump&lt;/code&gt;              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Capture and analyze network traffic   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;iftop&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Inspect network interfaces and routes &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;nc&lt;/code&gt; (netcat)          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP/UDP connectivity testing          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;nmap&lt;/code&gt;                 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Scan for open ports and services      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;iptables&lt;/code&gt;, &lt;code&gt;nft&lt;/code&gt;      &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Inspect firewall/NAT rules            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bash&lt;/code&gt;, &lt;code&gt;sh&lt;/code&gt;           &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Shell access to run custom scripts    &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;848-1581&amp;quot;} --&gt;
&lt;p&gt;
It&amp;#039;s ideal when your real containers are too minimal to install anything or when you&amp;#039;re trying to debug complex networking setups in Docker, Kubernetes, or multi-container stacks.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udee0\ufe0f Tools Included (examples):&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udee0\ufe0f_tools_included_examples&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;762-1767&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;how_to_run_it&quot;&gt;How to Run It&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To quickly start &lt;code&gt;netshoot&lt;/code&gt; with access to your Docker bridge:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker run --rm -it --network bridge nicolaka/netshoot&lt;/pre&gt;

&lt;p&gt;
You can also attach it to a specific container&amp;#039;s network:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker network inspect &amp;lt;network_name&amp;gt;
docker run --rm -it --network &amp;lt;network_name&amp;gt; nicolaka/netshoot&lt;/pre&gt;

&lt;p&gt;
Or, to connect to a specific container’s network namespace:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker run --rm -it --net container:&amp;lt;container_name_or_id&amp;gt; nicolaka/netshoot&lt;/pre&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;How to Run It&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;how_to_run_it&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1768-2237&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;how_to_remove_netshoot&quot;&gt;How to Remove `netshoot`&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you’ve run it with &lt;code&gt;--rm&lt;/code&gt; (as shown above), Docker removes the container automatically when it exits — &lt;strong&gt;nothing to clean up&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
If you want to remove the &lt;strong&gt;image&lt;/strong&gt; (to reclaim disk space):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker rmi nicolaka/netshoot&lt;/pre&gt;

&lt;p&gt;
You can check if it&amp;#039;s downloaded first:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker images | grep netshoot&lt;/pre&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;How to Remove `netshoot`&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;how_to_remove_netshoot&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2238-2589&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;tools_included_in_the_nicolaka_netshoot_container_grouped_by_functionality_so_you_can_quickly_understand_what_s_available_and_how_to_use_it&quot;&gt;Tools included in the `nicolaka/netshoot` container, grouped by functionality so you can quickly understand what’s available and how to use it.&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tools included in the `nicolaka\/netshoot` container, grouped by functionality so you can quickly understand what\u2019s available and how to use it.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tools_included_in_the_nicolaka_netshoot_container_grouped_by_functionality_so_you_can_quickly_understand_what_s_available_and_how_to_use_it&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2590-2740&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;🧰_network_diagnostic_tools&quot;&gt;🧰 Network Diagnostic Tools&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit9&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool            &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                     &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ping&lt;/code&gt;          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Test reachability to a host (ICMP). &lt;br/&gt;
 &lt;code&gt;ping 8.8.8.8&lt;/code&gt;                                      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;traceroute&lt;/code&gt;    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Trace the route packets take. &lt;br/&gt;
 &lt;code&gt;traceroute google.com&lt;/code&gt;                                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;mtr&lt;/code&gt;           &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Combines &lt;code&gt;ping&lt;/code&gt; and &lt;code&gt;traceroute&lt;/code&gt; for live network path monitoring. &lt;br/&gt;
 &lt;code&gt;mtr -rw google.com&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;netcat&lt;/code&gt; (&lt;code&gt;nc&lt;/code&gt;) &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Test TCP/UDP port availability. &lt;br/&gt;
 &lt;code&gt;nc -vz 172.17.0.1 5432&lt;/code&gt;                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;telnet&lt;/code&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Simple TCP testing (e.g., for raw HTTP or SMTP). &lt;br/&gt;
 &lt;code&gt;telnet example.com 80&lt;/code&gt;                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;nmap&lt;/code&gt;          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Port scanning and network exploration. &lt;br/&gt;
 &lt;code&gt;nmap -p 80,443 example.com&lt;/code&gt;                     &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2776-3573&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83e\uddf0 Network Diagnostic Tools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83e\uddf0_network_diagnostic_tools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2741-3578&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;🌐_http_https_and_web_tools&quot;&gt;🌐 HTTP, HTTPS, and Web Tools&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit11&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool   &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                                        &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;curl&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Fetch content over HTTP/HTTPS. Debug APIs. &lt;br/&gt;
 &lt;code&gt;curl -i http://localhost:8000&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;wget&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Similar to curl, useful for downloading files or testing HTTP.                   &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table2&amp;quot;,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3616-3893&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83c\udf10 HTTP, HTTPS, and Web Tools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83c\udf10_http_https_and_web_tools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3579-3898&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;📡_dns_tools&quot;&gt;📡 DNS Tools&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit13&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool       &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;dig&lt;/code&gt;      &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Perform detailed &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; lookups. &lt;br/&gt;
 &lt;code&gt;dig google.com&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;nslookup&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Simple &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; query. &lt;br/&gt;
 &lt;code&gt;nslookup google.com&lt;/code&gt;        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;host&lt;/code&gt;     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; lookup utility. &lt;br/&gt;
 &lt;code&gt;host google.com&lt;/code&gt;          &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table3&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;3919-4190&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udce1 DNS Tools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udce1_dns_tools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3899-4196&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;🔌_socket_and_connection_inspection&quot;&gt;🔌 Socket and Connection Inspection&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit15&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool      &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                                &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;netstat&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Show open ports and network connections. &lt;br/&gt;
 &lt;code&gt;netstat -tuln&lt;/code&gt;     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ss&lt;/code&gt;      &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Replacement for netstat (faster and more modern). &lt;br/&gt;
 &lt;code&gt;ss -lntp&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;lsof&lt;/code&gt;    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; List open files, including network sockets. &lt;br/&gt;
 &lt;code&gt;lsof -i&lt;/code&gt;        &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table4&amp;quot;,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;4240-4563&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udd0c Socket and Connection Inspection&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udd0c_socket_and_connection_inspection&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;4197-4571&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;🧮_network_interface_traffic_monitoring&quot;&gt;🧮 Network Interface &amp;amp; Traffic Monitoring&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit17&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool       &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                               &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ip&lt;/code&gt;       &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Show IP addresses, routes, and interfaces. &lt;br/&gt;
 &lt;code&gt;ip a&lt;/code&gt;, &lt;code&gt;ip r&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;route&lt;/code&gt;    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; View or manipulate IP routing table. &lt;br/&gt;
 &lt;code&gt;route -n&lt;/code&gt;           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;ifconfig&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Legacy tool to view interfaces (use &lt;code&gt;ip&lt;/code&gt; instead if possible).  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ethtool&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; View Ethernet interface stats and features.                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;iftop&lt;/code&gt;    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Real-time traffic usage per connection.                         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;nethogs&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Show bandwidth per process (like &lt;code&gt;top&lt;/code&gt; but for network).        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bmon&lt;/code&gt;     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Bandwidth monitor (graphical console UI).                       &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table5&amp;quot;,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;4621-5262&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83e\uddee Network Interface &amp;amp; Traffic Monitoring&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83e\uddee_network_interface_traffic_monitoring&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;4572-5267&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;📦_packet_sniffing_debugging&quot;&gt;📦 Packet Sniffing &amp;amp; Debugging&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit19&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool        &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example     &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;tcpdump&lt;/code&gt;   &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Capture and inspect network packets. &lt;br/&gt;
 &lt;code&gt;tcpdump -i eth0 port 5432&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;wireshark&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Not in netshoot itself, but &lt;code&gt;tcpdump&lt;/code&gt; can write PCAP files for Wireshark: &lt;br/&gt;
&lt;code&gt;tcpdump -i eth0 -w /tmp/trace.pcap&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table6&amp;quot;,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;5306-5655&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udce6 Packet Sniffing &amp;amp; Debugging&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udce6_packet_sniffing_debugging&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;5268-5660&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;🔒_firewall_security&quot;&gt;🔒 Firewall &amp;amp; Security&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit21&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool        &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose / Example                                           &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;iptables&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; View and manage Linux firewall rules. &lt;br/&gt;
&lt;code&gt;iptables -L -n -v&lt;/code&gt;            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;nft&lt;/code&gt;       &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Newer firewall framework (successor to iptables). &lt;br/&gt;
&lt;code&gt;nft list ruleset&lt;/code&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;ipset&lt;/code&gt;     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Manage IP sets for dynamic firewall rules.                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;conntrack&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Track and inspect NATed connections.                                       &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table7&amp;quot;,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;5691-6148&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udd12 Firewall &amp;amp; Security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udd12_firewall_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;5661-6153&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit22&quot; id=&quot;🧰_other_utilities&quot;&gt;🧰 Other Utilities&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit23&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool                         &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose                                          &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bash&lt;/code&gt;, &lt;code&gt;sh&lt;/code&gt;                 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Shell access to run scripts                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;jq&lt;/code&gt;                         &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; JSON processor (great for &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; output)                       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;strace&lt;/code&gt;                     &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Trace system calls from a command (e.g., see why &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; fails) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;wget&lt;/code&gt;, &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;nc&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; All useful in Docker and Kubernetes troubleshooting         &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table8&amp;quot;,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;6180-6653&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83e\uddf0 Other Utilities&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83e\uddf0_other_utilities&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;6154-6658&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit24&quot; id=&quot;📦_container_kubernetes_tools&quot;&gt;📦 Container/Kubernetes Tools&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Some versions of &lt;code&gt;netshoot&lt;/code&gt; also include:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit25&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt;Tool                  &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Purpose                                                        &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;kubectl&lt;/code&gt;             &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Interact with Kubernetes clusters                              &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;docker&lt;/code&gt;              &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Optional; if mounted from host, can inspect Docker from inside &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;code&gt;nsenter&lt;/code&gt;, &lt;code&gt;ip netns&lt;/code&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Enter namespaces of other containers for deep inspection       &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table9&amp;quot;,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;6739-7100&amp;quot;} --&gt;&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udce6 Container\/Kubernetes Tools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udce6_container_kubernetes_tools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;6659-7105&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit26&quot; id=&quot;🧹_clean-up_exit&quot;&gt;🧹 Clean-Up / Exit&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Just run it with &lt;code&gt;--rm&lt;/code&gt;, and it disappears on exit:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
docker run --rm -it --network bridge nicolaka/netshoot&lt;/pre&gt;

&lt;p&gt;
Exit with &lt;code&gt;Ctrl+D&lt;/code&gt; or type &lt;code&gt;exit&lt;/code&gt;.
&lt;/p&gt;
&lt;hr /&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://wiki.devilplan.com/_export/code/linux:docker:network_debug?codeblock=6&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_cpp&quot;&gt;snippet.cpp&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file cpp&quot;&gt;by&lt;span class=&quot;sy4&quot;&gt;:&lt;/span&gt;
▖     ▘▖▖
▌ ▌▌▛▘▌▙▌
▙▖▙▌▙▖▌ ▌
&amp;nbsp;
published&lt;span class=&quot;sy4&quot;&gt;:&lt;/span&gt; June &lt;span class=&quot;nu0&quot;&gt;17&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2025&lt;/span&gt;.&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83e\uddf9 Clean-Up \/ Exit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83e\uddf9_clean-up_exit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;7106-&amp;quot;} --&gt;</description>
    </item>
</rdf:RDF>
