In Part 7 I go over how I used iperf3 to test between my different NAS devices and Windows PCs. Each NAS device are running Docker and had a ubuntu container with iperf3 installed. If you want more information on how I setup the container check out my other post here.
In this Quick NAS Topic video and the steps further below, I use docker to create a ubuntu container with Linux tools and iperf3.
This video is a supplement for the 10Gbe Home NAS Lab Part 7. In Part 7 I show how to use these containers to network performance test the 3 NAS devices I have.
- Create your own Docker Account – https://hub.docker.com/signup
- My Docker Repository – https://hub.docker.com/u/vmexplorer
- A Blog around using a Docker Image that has Iperf3 but limits you to server mode only.
Docker Ubuntu/iperf3 Basic Steps: Items in-between [ ] and the brackets should be removed
- On the NAS:
- Ensure devices can access the inet OR not covered in this blog, you’ll need to manually import and export images, etc.
- Ensure Docker-ce and if needed Shell-in-a-box and portainer are installed and basic configuration is done. The Synology didn’t need shell in a box or portainter
- Test Docker Install
- docker -v << Shows the version
- docker images << Show the images that are available
- docker ps << Shows the running containers
- Elevate local privileges to run docker commands
- It may be necessary to use ‘sudo’ in front of docker commands to get them to execute, followed by the admin/root password. Example: sudo docker ps
- Download and run Ubuntu
- docker pull ubuntu << Image is located here https://hub.docker.com/_/ubuntu
- docker run -it ubuntu bash << Creates an instance of this image for us to modify and opens up the terminal
- Update the Ubuntu running container
- apt-get -y update
- apt-get install iproute2
- apt-get install net-tools
- apt-get install iputils
- apt-get install iputils-ping
- apt-get install -y iperf3
- Test with ping and iperf3 -v
- Do not exit
- Commit and push the new image
- docker ps -l << Check for the latest running container, and note the Container ID of the container that was just updated with these steps
- docker commit [Container ID] [repository name]/[insert-container-name]
- docker images << will validate that the image is now there
- docker push [repository name]/[Container you want to push]
- Testing Steps
While taking the course on kubeAcademy ‘Building Applications for Kubernetes’ the first lesson was about setting up your workstation to complete the course. Though the first lesson was good, the instructions were based on the MAC OS and how to install on Windows was very lightly touched on. I soon found out why, the Windows 10 install of Docker Desktop and Tools isn’t a simple process. In this video I go through the choices I made to get my workstation up and running. Moving past lesson one it became obvious that most of these courses are based on CLI commands common on the MAC (example cat, v, and rm). If you choose the Windows install be aware you’ll need to translate commands like these and more. I highly recommend the MAC OS install if you want to really align to these courses.
Post Video Corrections and Observations:
- In the video I showed how to remove the Ubuntu Image via containers and apps. To fully remove the ubuntu image, do so in Docker Desktop > Images > 3Dots > Delete, wait about a min or two and it will disappear.
Some Links from this video:
- kubeAcademy https://kube.academy/pro
- Install Docker Desktop on Windows https://docs.docker.com/desktop/windows/install/#install-docker-desktop-on-windows
- kubeAcademy Course: Building Applications for Kubernetes https://kube.academy/courses/building-applications-for-kubernetes
- WSL 2: Getting started — https://www.youtube.com/watch?v=_fntjriRe48
- WSL 2 with Docker getting started — https://www.youtube.com/watch?v=5RQbdMn04Oc