Windows 10 - Hoops Communicator docker containers do not run on windows machines, only Linux

Hello,

Just a confirmation, I am using a Windows 10 machine and, currently, its not possible to run docker containers that contain Hoops Communicator, on a Windows machine, right?

May be I can create a container to run in widows but server side rendering (SSR) it will not work, right?

I saw this youtube video HOOPS Training - Server Side Rendering in Docker Containers - YouTube, “HOOPS Training - Server Side Rendering in Docker Containers” presented by Robert Tadlock from Techsoft 3d.

I also consulted NVIDIA Container Toolkit documentation, Installation Guide — NVIDIA Cloud Native Technologies documentation, and it seems that they only supports Linux hosts.

When I run below command I get errors.

docker run --gpus all nvidia/opengl:base nvidia-smi

Regards,

Alberto

Hi Alberto,

TL;DR - Yes, you can run Communicator on a Windows host, but SSR does not work. See our docker documentation for more info and a link to some docker files.

Long answer:

It is possible to run docker containers on a Windows host, but only for using client side streaming and using converter. I generally use a Centos or Ubuntu image.

I’ll also add that using converter to generate thumbnails doesn’t always work on a non-GPU enabled docker container, but your mileage may vary.

I often use docker on a Windows host to test HC on different Linux distros and I find it works well. Also, I just confirmed that it is indeed working with the latest version of Communicator:

To get things working, you need to ensure you are forwarding the correct ports to the host. You can read about what ports are used for what with the default quick start setup by having a read through this table.

Here is a quick example of launching an Ubuntu image and mapping it to the CWD in Windows (where I have the Linux HOOPS Communicator package) and also mapping a few ports:

docker run -it -p11180:11180 -p11181:11181 -p11182:11182 -p11000:11000 -p11001:11001 -v %cd%:/home ubuntu

From here you can uncompress the package in the Linux machine, navigate to the quick_start folder, and then start the server. Then it’s just a matter of opening a browser on your host machine and going to the quick start URL.

Since I keep a bare bones Linux image ready to use, I just start up docker with a batch file with a command similar to the above and then install whatever product I’m working with, build out the desired environment by installing packages, and then go from there. I think creating a docker file may be a better idea for use in a dev team where you want everyone to have the same environment.

You’ll see SSR does not work, however, and that’s because you need access to the GPU and currently the only reliable way I know of doing that is by using the the nVidia Container Toolkit . You saw me use this in the above mentioned Youtube video and unfortunately, this toolkit is not supported on a Windows host. See here for platform information.

Hope that helps and let me know if you have more questions.

Rob

Hello @rtadlock,
thank you for your reply.

I am assuming that you are using linux binaries for Ubuntu. Where I can find them? The Hoops installer I used is for windows, and if I go to the “…\HOOPS Installer\HOOPS_Web_Platform\server\bin” directory I saw only binaries for windows (win64 and win64d folders).

I tried to use the installer for Linux but it only run in a Linux machine.

Regards,
Alberto

Hi Alberto,

If you’re working on a self guided eval using manage.techsoft3d.com, then you’ll just need to download the Linux installer when you click the “Download SDK” button:

If you are using your DevZone login, the Linux (and Mac) binaries are a separate download. When you go to the DevZone, click the HOOPS Products button → HOOPS Communicator. Then click the “Downloads” link on the left. You’ll see the Windows download and you’ll need to click the Linux link to expand section with links:

Hope that helps,

Rob

1 Like

Hello @rtadlock,
I am using the evaluation, my dev page does not give me access to Hoops Communicator releases.

Using the evaluation, yes, you can download the Linux installer but this has the extension “.run” and I think, this is meant to be run on a Linux machine. On my Windows 10 machine, by default, it not let me open the Linux installer, maybe there is a way.

What I did was, I installed Ubuntu 20.04 app from Microsoft store on my Windows 10. Then using Ubuntu, I was able to download the Linux installer and extracted the files :slight_smile:

I think you need to improve this because your Docker documentation and videos I saw, always assume linux binaries.

Or maybe there is a simple way to run the Linux installer with “.run” extension on Windows.

Regards,
Alberto

Hi Alberto,

Yes, the “.run” installer is meant to be run on a Linux machine. The workflow would be that you run the installer inside the docker container after it starts up or would be part of your docker file that builds the image you eventually want to run as a container at runtime. Alternativly, you could manually install as part of an interactive run that I described above.

So you would run the installer like so:

docker run -it -p11180:11180 -p11181:11181 -p11182:11182 -p11000:11000 -p11001:11001 -v %cd%:/home ubuntu

And make sure the “.run” installer is in your CWD where you start up the container. From there you would:

cd /home
./HOOPS_installer_offline.run

Notice I’m using the offline installer here. After install, you would then navigate to the quick_start and follow the above directions.

Having said all that, I’ve worked through this today and it appears at the moment, that our installer requires a windowing system to run, which would prevent you from running the installer in a docker container. I’ve reached out to my development team to understand what the options are for running a silent install on a headless server. I will update this thread once I have more information.

In the meantime, I will email you directly and get you access to the Linux binaries so you can follow the guide above.

Rob

Hello @rtadlock,
thank you for your reply again. No need to you to waste more time on this.

I already have the Linux binaries, as I said, I installed Ubuntu on my Windows 10 machine. Following your instructions, I started a docker container on Windows 10 as host to run Hoops Communicator and it works.

I will continue evaluating Hoops Web Platform.

Regards,
Alberto

2 Likes

Thanks for the follow up Alberto. If anything working through this with you has helped me formulate some feedback for our documentation and product team on ways to update and improve our docker content.

Rob

1 Like