Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

problem with qt.qpa.plugin: running on a docker in Kubuntu



  • Hello, I have built a python application with PyQt that works perfectly when I run it on Kubuntu 20.04.1 LTS but when I try to put the application on a docker script and execute it, I got the following error:

    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
    

    The docker is compiled without any errors. But when I try to run the docker I take the above error.

    What should I do?

    @update: This command

    ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
    

    shows me a lot of files


  • Lifetime Qt Champion

    Hi,

    Docker does not have access do your X server so your application can't start.

    For more information, start it with the QT_DEBUG_PLUGINS environment variable set to 1.



  • I included this command inside the docker script:

    QT_DEBUG_PLUGINS=1
    

    I try to build the script and I got this:

    Sending build context to Docker daemon  60.93kB
    Error response from daemon: Dockerfile parse error line 42: unknown instruction: QT_DEBUG_PLUGINS=1
    

  • Lifetime Qt Champion

    Because that is not a valid command, if you want to include an environment variable in your Dockerfile, use the ENV command.



  • Ok. I got answer with data. What should I look for?


  • Lifetime Qt Champion

    The entry related to xcb, you'll have some information about why it failed to load.



  • This is what I found related to xcb:

    Got keys from plugin meta data ("webgl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "archreq": 0,
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/bin/platforms" ...
    Cannot load library /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-util.so.1: cannot open shared object file: No such file or directory)
    QLibraryPrivate::loadPlugin failed on "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so" : "Cannot load library /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-util.so.1: cannot open shared object file: No such file or directory)"
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
    

  • Lifetime Qt Champion

    @john_hobbyist said in problem with qt.qpa.plugin: running on a docker in Kubuntu:

    libxcb-util.so.1

    You are missing that file in your Docker image.



  • Do I need to install a specific package? Or only the non-existing file? I suppose

    pip3 install ...
    

    ??


  • Lifetime Qt Champion

    No this is a system library that you need to install using your image distribution package manager.



  • How can I achieve this?


  • Lifetime Qt Champion

    As I wrote above, this is done using the package manager that is provided by the distribution you use as a base for your Docker image. Use a RUN command for that.



  • After google search, I found and I tried this command:

    RUN apt-get install -y libxcb-util1
    

    It does not work:

    E: Unable to locate package libxcb-util1
    The command '/bin/sh -c apt-get install -y libxcb-util1' returned a non-zero code: 100
    


  • @john_hobbyist use: RUN apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev and show the new log



  • QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms" ...
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqeglfs.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqeglfs.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "eglfs"
            ]
        },
        "archreq": 0,
        "className": "QEglFSIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("eglfs")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqlinuxfb.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqlinuxfb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "linuxfb"
            ]
        },
        "archreq": 0,
        "className": "QLinuxFbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("linuxfb")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqminimal.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqminimal.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimal"
            ]
        },
        "archreq": 0,
        "className": "QMinimalIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("minimal")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqminimalegl.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqminimalegl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimalegl"
            ]
        },
        "archreq": 0,
        "className": "QMinimalEglIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("minimalegl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqoffscreen.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqoffscreen.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "offscreen"
            ]
        },
        "archreq": 0,
        "className": "QOffscreenIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("offscreen")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqvnc.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqvnc.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "vnc"
            ]
        },
        "archreq": 0,
        "className": "QVncIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("vnc")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-egl.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-egl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-egl"
            ]
        },
        "archreq": 0,
        "className": "QWaylandEglPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-egl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-generic.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-generic.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland"
            ]
        },
        "archreq": 0,
        "className": "QWaylandIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-xcomposite-egl.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-xcomposite-egl"
            ]
        },
        "archreq": 0,
        "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-xcomposite-egl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-xcomposite-glx.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-xcomposite-glx"
            ]
        },
        "archreq": 0,
        "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-xcomposite-glx")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwebgl.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqwebgl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "webgl"
            ]
        },
        "archreq": 0,
        "className": "QWebGLIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("webgl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
    Found metadata in lib /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "archreq": 0,
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/bin/platforms" ...
    Cannot load library /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-util.so.1: cannot open shared object file: No such file or directory)
    QLibraryPrivate::loadPlugin failed on "/usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so" : "Cannot load library /usr/local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-util.so.1: cannot open shared object file: No such file or directory)"
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
    


  • @john_hobbyist said RUN apt-get install -y libxcb-util-dev, also show the Dockerfile



  • @eyllanesc said in problem with qt.qpa.plugin: running on a docker in Kubuntu:

    RUN apt-get install -y libxcb-util-dev

    Step 19/21 : RUN apt-get install -y libxcb-util-dev
     ---> Running in ......
    Reading package lists...
    Building dependency tree...
    Reading state information...
    E: Unable to locate package libxcb-util-dev
    The command '/bin/sh -c apt-get install -y libxcb-util-dev' returned a non-zero code: 100
    

    Yes, I saw it now:

    FROM python:3
    
    ADD code.py /
    
    RUN pip3 install opencv-python-headless
    RUN apt-get update ##[edited]
    
    RUN apt-get install ffmpeg libsm6 libxext6  -y
    
    RUN pip3 install matplotlib
    
    RUN apt-get install python3-pyqt5 -y
    
    RUN pip3 install pyqt5
    
    RUN pip3 install wheel
    
    RUN pip3 install pandas
    
    RUN pip3 install openpyxl
    
    RUN pip3 install geopandas
    
    # RUN apt update -y
    
    # RUN apt install libpq-dev -y
    
    # RUN apt install gdal-bin -y
    
    # RUN apt install libgdal-dev -y
    
    RUN pip3 install numba
    
    # RUN pip3 install GDAL
    
    RUN apt-get install qt5-default -y
    
    RUN pip3 install numpy
    
    RUN ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
    
    RUN apt-get update -y
    
    RUN apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev 
    
    RUN apt-get install -y libxcb-util-dev
    
    ENV QT_DEBUG_PLUGINS=1
    
    CMD [ "python3", "code.py" ]
    

    Any idea???



  • @john_hobbyist change FROM python:3 to FROM ubuntu:latest. "python: 3" uses a minimalistic version of linux that does not have some packages. Also remove RUN apt-get install qt5-default -y and RUN ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so. If you can't find the pip command then add first: RUN apt install python3-pip



  • @eyllanesc

    Sending build context to Docker daemon  60.93kB
    Step 1/19 : FROM ubuntu:latest
     ---> ......
    Step 2/19 : ADD code.py /
     ---> Using cache
     ---> .....
    Step 3/19 : RUN pip3 install opencv-python-headless
     ---> Running in .....
    /bin/sh: 1: pip3: not found
    The command '/bin/sh -c pip3 install opencv-python-headless' returned a non-zero code: 127
    UbuntuUser@ubuntu:~/Desktop/test/my_new_docker_build$
    

    Does not run more than this step...



  • @john_hobbyist mmm, you seem to not fully read my comment: add RUN apt install -y python3-pip before RUN pip3 install opencv-python-headless



  • Sending build context to Docker daemon  60.93kB
    Step 1/20 : FROM ubuntu:latest
     ---> .....
    Step 2/20 : ADD code.py /
     ---> Using cache
     ---> .....
    Step 3/20 : RUN apt install -y python3-pip
     ---> Running in ......
    
    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    
    Reading package lists...
    Building dependency tree...
    Reading state information...
    E: Unable to locate package python3-pip
    The command '/bin/sh -c apt install -y python3-pip' returned a non-zero code: 100
    


  • @john_hobbyist Use minimal Dockerfile

    FROM ubuntu:latest
    
    RUN apt-get update && apt-get autoclean
    
    RUN apt-get update && apt-get install -y --no-install-recommends python3-pip
    
    RUN pip3 install pyqt5
    
    RUN apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev 
    
    ENV QT_DEBUG_PLUGINS=1
    
    ADD code.py /
    
    CMD [ "python3", "code.py" ]
    


  • @eyllanesc Ok, it builds this, but I cannot run it obviously because I need the rest packages...

    I included the rest packages on Dockerfile and I get, among others, this again:

    Got keys from plugin meta data ("webgl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/lib/python3.8/dist-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
    Found metadata in lib /usr/local/lib/python3.8/dist-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "archreq": 0,
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
    loaded library "/usr/local/lib/python3.8/dist-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
    qt.qpa.xcb: could not connect to display 
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
    

    Any idea??


  • Lifetime Qt Champion

    As said earlier, Docker does not have access to your X server.

    There are several ways to achieve that but it looks like this tool is quite interesting.



  • When I run an image I see the result on my pc? I mean the application result is displayed on my pc?


  • Lifetime Qt Champion

    That's the goal of the tool, to allow the application to connect to an X server so that it can display its content.



  • Because now I hit: "sudo docker run <IMAGE ID>" the OS does not complain with errors or something, but I do not see the application running on my laptop...What is going on?


  • Lifetime Qt Champion

    Check the logs of your container.

    And if I may, you should avoid running docker using sudo. Add your user to the docker group so you can do things directly.



  • So the problem is that Docker cannot run PyQt/GUI application, if I have understood correctly??


  • Lifetime Qt Champion

    It may but you have additional work do to in order for it to be able to do that as shown by the tool I suggested above.



  • I found this tutorial: https://stackoverflow.com/questions/24095968/docker-for-gui-based-environments which as I see matches with https://github.com/mviereck/x11docker (that you posted), however I cannot understand if this command:

    nividia-docker run --interactive --tty --env DISPLAY=$DISPLAY --volume /tmp/.X11-unix/:/tmp/.X11-unix/ <docker_iamge> 
    

    demands to have NVIDIA GPU?? I run the docker on Kubuntu 20.04.1 LTS running on a VMware, so I cannot access GPU...


  • Lifetime Qt Champion

    You can use that one if you have setup docker to run with NVIDIA hardware however, you can see from the main answer that it's not required at all.



  • So, what are the steps to make this tool https://github.com/mviereck/x11docker#single-applications work and generally to make the PyQt GUI application run on the docker?? Because I have tried a few tutorials, such as this: https://askubuntu.com/questions/1161646/is-it-possible-to-run-docker-container-and-show-its-graphical-application-window and this: https://askubuntu.com/questions/1249043/run-simple-x11-app-in-docker-container-on-ubuntu-20-04 and the only thing I get is errors!!

    Such as this one:

    Sending build context to Docker daemon  2.048kB
    Step 1/4 : FROM ubuntu:20.10
     ---> .....
    Step 2/4 : RUN apt-get update
     ---> Using cache
     ---> .....
    Step 3/4 : RUN apt-get install -y x11-apps
     ---> Running in .....
    Reading package lists...
    Building dependency tree...
    Reading state information...
    E: Unable to locate package x11-apps
    The command '/bin/sh -c apt-get install -y x11-apps' returned a non-zero code: 100
    

  • Lifetime Qt Champion

    X11-apps is not available on x86_64 architecture for Ubuntu 20.10.

    In any case, you should not need it to run your application.



  • This post is deleted!


  • Ok, after many days searching and experimenting I made this Dockerfile run:

    FROM ubuntu:14.04
    
    RUN apt-get update && apt-get install -y firefox
    
    # Replace 1000 with your user / group id
    RUN export uid=1000 gid=1000 && \
        mkdir -p /home/developer && \
        echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd && \
        echo "developer:x:${uid}:" >> /etc/group && \
        echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer && \
        chmod 0440 /etc/sudoers.d/developer && \
        chown ${uid}:${gid} -R /home/developer
    
    USER developer
    ENV HOME /home/developer
    CMD /usr/bin/firefox
    

    source: http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/

    What modifications should I do in order to make my .py code file, inside which I use PyQt libraries, run???

    Thanks...



  • I run this command:

    sudo docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-code bash
    

    but instead of get the GUI/PyQt5 application ruuning, I get this feedback:

    root@<id_number>:/#
    

    I run the command:

    python3 code.py
    

    and again the error:

    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
    loaded library "/usr/local/lib/python3.8/dist-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
    No protocol specified
    qt.qpa.xcb: could not connect to display :0
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
    


  • I have also found this solution:

    https://mindup.medium.com/running-gui-apps-securely-in-docker-sandbox-5d945288929b

    I tried the first solution, ok I opened successfully the vnc Desktop and insert to the Desktop, but how do I run the Dockerfile? I mean If I install again the docker to the VNC Desktop OS and run the commands of building and running the Dockerfile, what is the new thing that docker solution provides?


Log in to reply