Hello,
I’m a total newbie for docker and i have some questions about docker.I don’t know is it possible to do with docker or not.If is it possible then i will dive in to start docker.
1)I have a maker board which name is UDOO x86 (details here : https://shop.udoo.org/udoo-x86-ii-ultra.html)
This board have x86 architecture cpu.My goal is running a multiple screen python application (x11) in this board but i’m not sure can docker run a gui application or not.If docker can run gui applications my second question is how can i create a image for my board.(Actually this board has a yocto image https://www.udoo.org/docs-x86/Operating_Systems/Yocto.html)
is there any tool or guide to create a custom images for specific board ?
Can docker do this or not ? That’s all what i’m wonder about.
Docker images are architecure dependant, not machines/boards dependant.
Since your board is of the amd64 architecture, any amd64 image will work. You probably dont need to build your own images since amd64 is the most used architecture, so your need are probably already covered.
As far as I know, docker is only for server. The only GUI it can provide is web apps.
I guess it would be possible to make an X11 compatible image by running it using the host network (docker run --network host ...), setting the DISPLAY variable (docker -e DISPLAY=:0) and inject the current user .Xauthority file. But that would be abusing docker more than using it properly.
You might want to have a look at snap or flatpak which are probably more suitable to your needs.
Docker itself knows no GUI, but Linux does. You can use headless containers with desktop environment and connect to them using VNC viewer or even any web browser if noVNC is provided. You can check, for example, my Docker images that implement VNC server and also noVNC. They are based on Ubuntu and they provide Xfce4 desktop.
You can use any of those images for Python GUI apps and you can install anything you need, because also sudo is supported. Actually there are more images, the image hierarchy is here and here.