WPE Container Prevents other container(s) from running

I recently tried the balean-dashboard, which uses the WPE container to create a Kiosk on a local interface, which is EXACTLY what our project needs.

The bad part is that I can not get WPE to load and run with all my containers up and running.

Our application consists of 4 containers: 3 apps and a monitor/watchdog process.

Everything up and works, until I add the WPE container: with the WPE container, 3 of my containers will start along with WPE. It is not 100% predictable which container will NOT start.

As an experiment, I moved all my apps into a single container, giving WPE its own container, with two containers, WPE starts up, but my application container stays in the “downloaded” state.

Manually trying to start it does not do anything (as I would expect)

Any thoughts on why the WPE container won’t work with other containers?

Size, mem or CPU being maxed out are thoughts of mine, but I do not get any indication what is preventing one of the containers to startup…

Any or all help will be appreciated!

Hi Rusty, are there any errors coming from balenaEngine or your containers when they fail to startup?

Well I have not seen an errors that are obviously related to the container that stays in the ‘installed’ state.

I did notice though, the single container I am building comes out be 973 MB (I have no idea why the container is so large. Hell, we can run an entire VM for 1G worth of apps…

973 + 122(for wpe) puts me at about the 1G of RAM that our Pi2 has.

Could it be a problem if the containers sizes add up to greater than the RAM in the device?

If that is the case, how I can I trace down where my container becomes so bulky so I can hopefully whittle it down to something useable with the WPE contianer.

There is a great utility called “Dive” I have successfully used in the past to dig into docker image bloat, perhaps give that a go and see if cutting down the size of your containers is possible/any help? https://github.com/wagoodman/dive

Thanks @wrboyce, I am, am going to give that utility and try see what It can tell me.

In the meantime, I am building on an image that I just “started with”, I am the software was built to run with ubuntu/raspbian variant.

I wonder if there is a smaller debian based image I can use. I had been tempted to move over to alpine, however that would require rewriting scripts and install packages, so I’ll stick with debian for now.

Thanks for the tip, I’ll report what I find…

OK, I solved my problem: I was exporting port 8080 from different containers. It looks like a conflict will just stop a container from starting…

Great news, thanks for letting us know Rusty. I’ll pass this feedback on as it sounds like something we could perhaps detect and warn about when building the release.

1 Like

Sounds good, thanks for the help!!!