Code Monkey home page Code Monkey logo

Comments (5)

3XX0 avatar 3XX0 commented on August 16, 2024

It's mostly up to the container image, there's nothing specific to SLURM/enroot.
You can checkout the NGC images, they have Tensorboard and Jupyter included: https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel_19.08.html#rel_19.08

from enroot.

biocyberman avatar biocyberman commented on August 16, 2024

How port forwarding/binding is done with enroot then? I haven't seen any documentation about this. In Docker: https://runnable.com/docker/binding-docker-ports. This port forwarding thing is needed for Jupyter and Tensorboard.

Regarding a GUI application in general, it is not simple in Docker. People makes bridge and wrapper to run GUI programs. I actually tried with a modfied docker image (see below) and ran with x11docker. It works with Docker but not with enroot. The following Dockerfile is for building a x11docker-compatible image.

FROM nvcr.io/nvidia/cuda:9.2-runtime-ubuntu16.04
# Build command:
# docker build -t vle/mate.bio:2019 .
# FROM nvcr.io/nvidia/cuda:10.1-runtime-ubuntu18.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-mark hold iptables && \
    apt-get -y dist-upgrade && apt-get autoremove -y && apt-get clean
RUN apt-get install -y dbus-x11 procps psmisc

# OpenGL / MESA
RUN apt-get install -y mesa-utils mesa-utils-extra libxv1 kmod xz-utils

# Language/locale settings
#   replace en_US by your desired locale setting,
#   for example de_DE for german.
ENV LANG en_US.UTF-8
RUN echo $LANG UTF-8 > /etc/locale.gen
RUN apt-get install -y locales && update-locale --reset LANG=$LANG

# some utils to have proper menus, mime file types etc.
RUN apt-get install -y --no-install-recommends xdg-utils xdg-user-dirs \
    menu menu-xdg mime-support desktop-file-utils

# Mate desktop core
RUN apt-get install -y --no-install-recommends mate-desktop-environment-core

# additional goodies. Last 3 packages are for CST
RUN apt-get install -y fortunes mate-applets mate-notification-daemon \
    mate-system-monitor mate-utils vim emacs wget libglu-dev file xvfb

# Set default python back to 3.5
# RUN update-alternatives --install /usr/bin/python python  /usr/bin/python3.5 1 && \
#    update-alternatives  --set python /usr/bin/python3.5

# startscript to copy dotfiles from /etc/skel
# runs either CMD or image command from docker run
RUN echo '#! /bin/sh\n\
[ -e "$HOME/.config" ] || cp -R /etc/skel/. $HOME/ \n\
exec $* \n\
' > /usr/local/bin/start
RUN chmod +x /usr/local/bin/start

ENTRYPOINT ["/usr/local/bin/start"]
CMD ["mate-session"]

ENV DEBIAN_FRONTEND newt

from enroot.

3XX0 avatar 3XX0 commented on August 16, 2024

There is no port forwarding in enroot, whatever port your application is listening on is the one you should connect to.

GUI applications are outside the scope of enroot, it's up to the container image or the admin to figure out what they need and configure whatever is necessary. I don't know what x11docker tries to do, but there are several way to do it, for example:

from enroot.

arnoldas500 avatar arnoldas500 commented on August 16, 2024

Are GUI applications or the ability to bind ports available at this time with enroot?

from enroot.

ltalirz avatar ltalirz commented on August 16, 2024

Are GUI applications available at this time with enroot?

Yes, as shown in the linked example, here would be how to run xeyes:

enroot start --env DISPLAY --mount /tmp/.X11-unix:/tmp/.X11-unix ubuntu.sqsh bash
root@host:/# apt update && apt install -y x11-apps
root@host:/# xeyes

from enroot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.