13 Using Docker in GNS3

Braedyn Case

Docker is an especially powerful piece of software used to deploy containers or software images. It is widely used as a secure and efficient way to distribute and run applications across enterprise networks and devices.

The Ubuntu Docker container is an image that contains a minimal installation of the widely used Linux distribution Ubuntu by Canonical. Ubuntu is a popular industry platform used for backend servers, as well as on workstations and other devices.

Phase 0 – Professional Alignment

Modern enterprise networks increasingly rely on containerized applications to deliver scalable, portable, and resource-efficient services. In this chapter, you will install and configure an Ubuntu Docker container within GNS3, integrate it into a virtual network, and verify Internet connectivity. These activities introduce container-based networking concepts while demonstrating how lightweight application environments can complement traditional virtual machines in enterprise network laboratories.

DCWF Work Roles

The knowledge and skills developed in this chapter align with the following Department of Defense Cyber Workforce Framework (DCWF) work roles:

  • 531 – Systems Administrator
  • 511 – Network Operations Specialist
  • 441 – Network Services Specialist

NICE Work Roles

This chapter supports competencies associated with the following NICE Workforce Framework for Cybersecurity work roles:

  • Systems Administrator
  • Network Operations Specialist
  • Network Services Specialist

Professional Skills

By completing this chapter, you will begin developing the ability to:

  • Deploy Docker containers within a GNS3 enterprise networking environment.
  • Configure basic networking for containerized systems.
  • Integrate lightweight container workloads into virtual network topologies.
  • Validate container network connectivity using standard Linux networking tools.
  • Compare container-based deployments with traditional virtual machine implementations.
  • Prepare containerized environments for future networking, automation, and cybersecurity exercises.

What You’ll Be Able to Do

After completing this chapter, you should be able to:

  • Import and install an Ubuntu Docker appliance into GNS3.
  • Configure the Docker container’s network interfaces for enterprise networking.
  • Connect the container to external networks using a NAT device.
  • Verify Internet connectivity from within the container using standard network diagnostic tools.
  • Explain the differences between Docker containers and traditional virtual machines in GNS3.
  • Describe how containerized workloads support modern enterprise networking, cloud computing, and DevOps environments.

LEARNING OBJECTIVES

  • Install Ubuntu Docker Image
  • Configure the Ubuntu Docker to connect to the Internet

PREREQUISITES

  • GNS3
  • Must have configured the GNS3 VM

DELIVERABLES

  • None this is a resource for students

RESOURCES

CONTRIBUTERS AND TESTERS

  • Antionette Hults, Cybersecurity Student, ERAU-Prescott

 

Phase I – Download the appliance

Downloading the Docker appliance

  1. Go to this link to download Ubuntu Docker Guest
  2. Launch GNS3
  3. Make a new blank project (any name is fine)
  4. Once in a new project click on File > Import Appliance
    Screenshot Instructions
    Installing an appliance in GNS3

     

  5. In the File Explorer look for the file titled “ubuntu-docker.gns3a” and open the file
  6. Once opened select the server type as “Install the appliance on the GNS3 VM” and click Next
    Screenshot Instructions
    Figure 2 – Configuring Server Type
  7.  In the Usage window click Finish

Phase II – Configure the NICs

Configure the appliance’s Network Interfaces

  1. The new appliance should appear under the “End devices” section as “Ubuntu Docker Guest”
    Screenshot Instructions
    Figure 3 – Newly installed appliance
  2. Drag the new appliance into the project space
  3. Right click on the device labeled “UbuntuDockerGuest” and click Start
  4. To configure the “UbuntuDockerGuest” right click on the device and click Console

NOTE: These commands change system behavior! Make sure to correctly input the commands into the terminal and only change what is specified below to avoid running into problems that could cause unexpected behavior in the UbuntuDockerGuest device.

  1. To configure the devices network interfaces type the command

    nano /etc/network/interfaces

  2. In the text editor Uncomment (remove the #) for the last 3 lines of the text.
    Screenshot Instructions
    Figure 4 – Configuring Network Interfaces

     

  3. Once the text looks the exact same as the screenshot above press “Ctrl + O” then “Enter” to write changes to the file
  4. Press “Ctrl + X” to leave the text editor
  5. Close the terminal by pressing the X at the top right of the window

Phase III – Connect to the internet

Connect the Ubuntu Docker to the Internet

  1. Shutdown the “UbuntuDockerGuest” by right clicking on the device and pressing Stop
  2. From “End Devices” drag “NAT” to the project space
  3.  In the Server window click on the dropdown button (the arrow) and click “GNS3 VM”
  4. Add a link (wire) between “UbuntuDockerGuest” and the “NAT”
    Screenshot Instructions
    Figure 5 – Attaching the powered down “UbuntuDockerGuest” to the “NAT”
  5. Start the “UbuntuDockerGuest” by right clicking on the device and pressing Start
  6. Right click on “UbuntuDockerGuest” device and click Console
  7. Type the command

    ping -c 4 google.com

  8.  A response should be achieved indicating successful connection to the internet

 

Career connection

Containers have become a standard method for deploying applications and services across enterprise data centers, cloud platforms, and DevOps environments. Network engineers, systems administrators, cloud engineers, and cybersecurity professionals routinely use Docker to create lightweight, portable workloads that can be rapidly deployed, tested, and managed. Understanding how containers integrate with enterprise networks provides a foundation for working with modern technologies such as Kubernetes, cloud-native applications, network automation, and software-defined infrastructure.

End of Lab

Send correspondence to prmaster@erau.edu
Figure 404 – use prmaster@erau.edu for correspondence

License

Icon for the Creative Commons Attribution-NonCommercial 4.0 International License

Mastering Enterprise Networks 3e Copyright © 2024 by Mathew J. Heath Van Horn is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License, except where otherwise noted.