Docker Community Forums

Share and learn in the Docker community.

Run 3D application inside Docker

docker

(Kevin Printz) #1

Hi guys,

I’m in charge of a Docker’s POC inside my company to present to our teams the advantages of the container and Docker. I have to run a internal application on Docker.

The application is designed to run on CentOS 6, composed by the following elements:

  • 1 database server
  • 1 java server application
  • 1 java client application (3D)

I succeeded to build and run the db and app server, and all work great.

But I have more problems with the 3D app. The application is a kind of google earth app with a 3D globe to program various kind of mission, and needs a lot of processing ressources, and a good graphical card to run. (nvidia K2000)

My workstation run on Centos7, and I build my image from the CentOS 6 container to get my application’s compatibility. The application start well and the windows display is OK. But if I try to open the globe (3D part), I have very poor performance …

So first question, is it possible to run a 3D app inside a Docker container, and get similar performance than a host’s native application ?

Then if it’s possible, can I run the 3D app on a CentOS6 container, with a CentOS 7 workstation ? (so not the same libs between the host and the container).

Here the docker-compose file I tried to use to get it working :

version: '2'

services:
    client:
        image: mycompany/client
        container_name: client
        hostname: client.mycompany.com
        environment:
          - DISPLAY=$DISPLAY
        volumes:
          - '/tmp/.X11-unix:/tmp/.X11-unix'
        devices:
         - '/dev/dri:/dev/dri'

Thanks,
Kevin