Home > On-Demand Archives > Theatre Talks >

Containerize All The Things. For Embedded? Really?

Drew Moseley - Watch Now - EOC 2023 - Duration: 40:36

Containerize All The Things. For Embedded? Really?
Drew Moseley

Using containers in Embedded Linux devices is becoming more of a reality every day. Many of these devices are extremely high-powered and the benefits provided by containers are attractive to system designers. The ability to easily install, update and replace application payloads makes for a powerful design that is used in a variety of industries.

In this talk, Drew will provide an overview of containers, including a discussion of their architecture and implementation, as well as both technical and non-technical benefits of using them. We will discuss their impact on system performance as well as touch on the developer workflows needed to create and use them in systems.

We will then compare a few common approaches for creating, managing, and deploying containers including Docker, the Open Container Initiative) and OpenEmbedded. We will highlight the benefits of each approach and include considerations that designers can use to help decide which approach to use.

We will wrap up with some examples that highlight the value of containers in real-world use cases.

italicssurround text with
boldsurround text with
**two asterisks**
or just a bare URL
surround text with
strikethroughsurround text with
~~two tilde characters~~
prefix with

Score: 0 | 1 year ago | 1 reply

Thank you for the talk; it was really neat to see Docker used with embedded systems!
We use a number of processes on our embedded Linux system and manage them as services with systemd, which provides some nice features like automatically restarting processes. It is convenient that they log print output to syslog. What do you do for logging messages like this when using Docker?

Score: 0 | 1 year ago | no reply

Hi @Mike.Foss,
Thanks for the feedback. Standard docker logging https://docs.docker.com/config/containers/logging) is what most of our users use. It's pretty good at capturing stdout and stderr. Getting remote access to the logs will require some extra features and I think systemd has some advantages there.

Score: 0 | 1 year ago | 1 reply

Again I learned a lot - thank you Mosely!

Score: 0 | 1 year ago | no reply

Thank you so much. Glad it was useful.

Score: 0 | 1 year ago | 1 reply

Great talk Drew,
I was wondering if you had any views on tools for managing pods of containers on embedded clusters via agents, such Kubernetes. Do you envision any adoption/integration of them by OpenEmbedded?

Score: 0 | 1 year ago | no reply

Hi @RaulPando,
I've never personally worked on a project using Kubernetes or similar. The typical projects I work on are fairly limited functionality and have limited scaling needs so using Kubernetes is generally overkill.

We have talked about possibly integrating something like k8s into our Torizon product but until we have a customer use case that needs it, I don't anticipate it will be implemented.

I know there is good integration as part of the meta-virtualization layer of k8s, k3s, and many other utilities so you can certainly implement a RYO solution here and I know there are people that do so but whether there are commercial implementations, I do not know.


Score: 0 | 1 year ago | 1 reply

This was very Linux and CLI orientated. Does it work under Windows and able to run an IDE?

Score: 0 | 1 year ago | no reply

Hi @moredatalesscenter,
There are certainly IDE extension for developing and running containers. And for our Torizon platform we have a Visual Studio Code plugin that will allow you develop your containers from an IDE and from Windows. See this link for more details about the Toradex solution for this: https://labs.toradex.com/projects/torizon-vs-code-v2-apollo-x

Other systems likely have something similar but I have not worked with any closely enough to provide much guidance.