nuest / ten-simple-rules-dockerfiles

Ten Simple Rules for Writing Dockerfiles for Reproducible Data Science
https://doi.org/10.1371/journal.pcbi.1008316
Creative Commons Attribution 4.0 International
62 stars 15 forks source link

"`x11` support, `x11docker` is recommended" #41

Closed psychemedia closed 4 years ago

psychemedia commented 4 years ago

https://github.com/nuest/ten-simple-rules-dockerfiles/blob/4a87e3e3ad43feacd98722f1521e500191bb17bb/ten-simple-rules-dockerfiles.Rmd#L354

Recommended by whom? I quite like RDP because there are cross-platform clients and things like audio even work sometimes and there are examples out there of how to drop this sort of thing into a container.

I also note there are bridge containers that can bridge from X11 to an XPRA/HTML UI.

On the topic of desktop UIs, I note things like https://github.com/yuvipanda/jupyter-desktop-server which give you a way of dropping a desktop UI, accessed via the browser, if you need it, proxied by a Jupyter server.

vsoch commented 4 years ago

I haven't used it so I can't recommend - for actual stuff that needs display I usually build a Singularity container, which just works.

nuest commented 4 years ago

I've rephrased this, note recommending it but merely pointing out that it is possible.

@vsoch You mean that with Singularity, X11 applications will "just work" ? I've added that!

Please take a look at the PR if your concerns are addressed: https://github.com/nuest/ten-simple-rules-dockerfiles/pull/46

vsoch commented 4 years ago

Yes the environment is fairly seamless, here is an example of building a game (rustarok) into a Docker container, and dumping into Singularity to actually use it (good luck interacting with video card / audio via Docker, I tried and it doesn't work) https://github.com/bbodi/rustarok/tree/master/docker

psychemedia commented 4 years ago

That's good to know (a/v working without hassle...). But is that just true for Linux?

I've not used Singularity; on Windows, it needs to be run via a Linux VM, right? Like Docker on old Windows machines?

Does the a/v work on a Mac without fuss, or are steps required on the host side to get it working?

Do we need to be mindful of folk who are using Windows hosts, albeit often interacting with Linux servers to the do work? So probably the most effective UI for them will be a terminal for CLI or a browser for any GUI?

vsoch commented 4 years ago

Go go Google search!

https://sylabs.io/guides/3.5/user-guide/installation.html#install-on-windows-or-mac

psychemedia commented 4 years ago

Yes, exactly... the question was partly rhetorical. Windows is a pain... ;-) eg a Win 10 enterprise envt does give you docker straightforwardly, but lesser Win 10 requires Virtualbox and a trip to the BIOS to faff around with virtualisation settings.