Skip to content

Docker Utilization

Developing apps today requires so much more than writing code. Multiple languages, frameworks, architectures, and discontinuous interfaces between tools for each lifecycle stage creates enormous complexity. Docker simplifies and accelerates your workflow, while giving developers the freedom to innovate with their choice of tools, application stacks, and deployment environments for each project.

docker

Think about it this way, if you wanted to develop an application for an arduino then you would need an arduino to run the application on. Since arduino is proprietary hardware, you can not simply run it on your computer and expect to get the same results. Your computer can not simulate the different hardware components, I/O, and other differences of an arduino - thus you will require an arduino to run the application or test it. Our project is in a similar type of situation, we have proprietary hardware that our application needs to run on and it will not function properly on other devices.

This solution to this problem is Docker. With Docker, we can create a universal software container that behaves just like it would on our proprietary hardware. This software container can run on any machine and it will provide an identical software environment found on the proprietary hardware. This allows us to develop without having to be constantly tethered to our hardware. One drawback of Docker is that it can not change the hardware of the machine it is running on to match something else. If I run our container on my laptop, this program will execute OK but the hardware differences between my laptop and the Jetson-nano means that I will see drastically different performance. So the only way to measure performance is to have the real hardware present.

History of Containers

In 2013, Docker introduced what would become the industry standard for containers. Containers are a standardized unit of software that allows developers to isolate their app from its environment, solving the “it works on my machine” headache. For millions of developers today, Docker is the de facto standard to build and share containerized apps - from desktop, to the cloud. We are building on our unique connected experience from code to cloud for developers and developer teams.

Our containers for rifp are published here