Skip to the content.

To get back to the main page, click here.

To view the list of image building, click here.

To view the detailed graphic guides, click here.

To view extra manuals about xUbuntu, click here.

Guideline for using DGX

As a DGX user, you could:

Although you are added to the sudo list, you should not do the following things, because modifying the device outside the docker container may cause the device to collapse.

If you find any bugs or want to add any features, please contact the maintainer, unless you are very confident about what you will do.

Documentation for currently built images (xUbuntu)

Updated on 4/20/2022

Here I am maintaining a list of currently built docker images on our DGX-230. Most of them are built based on:

xubuntu branch

Usage: first launch

:warning: Please pay attention to this section. This feature is first introduced in 1.6 version. To avoid authority issues, any user who intends to use the VNC desktop needs to use the following method to register the user id and VNC password for the first time.

When using this image for the first time, users need to run the following command. Only the image name and tag need to be changed according to the needs.

docker run --gpus all -it --rm xubuntu:1.0 uid=$(id -u) gid=$(id -g)

The image would ask users to configure the VNC password. After that, the image would suggest committing the image by a command like this:

docker commit --change='CMD [""]' <container-id> <new-image-name>:<tag>

The saved image should be only used by one user because the user id has been registered inside the image.

Usage: graphic guides

For those amateurs, I have provided graphical guides for the whole workflow of working with a new image and saving it. Check the following links:

To view the detailed graphic guides, click here :link:.

Usage: interactive mode

The basic usage for any of the following images could be divided into 4 cases:

Note:

It is not required to launch noVNC separately for the newly released images. Because the noVNC has been built into the images. If we use -p xxxx:6080 to launch our image, we only need to open our browser and use the following address:

http://<dgx-230-ip>:xxxx/vnc.html?host=<dgx-230-ip>&port=xxxx

If you want to connect the VNC in encrypt mode, please use:

https://<dgx-230-ip\>:xxxx/vnc.html?host=<dgx-230-ip>&port=xxxx

Here is a tip: the configs after vnc.html could be omitted if you only need to get access to your own desktop.

Usage: backend mode

If you want your container to run on the backend rather than interactively, please change -it to -dit. However, this option should be only used when you are working with programs running on the backend, like the VNC server. For example:

docker run --gpus all -dit --rm --shm-size=1g -v ~:/homelocal -p 6080:6080 xubuntu:1.0
docker run --gpus all -dit --rm --shm-size=1g -v ~:/homelocal -p 5901:5901 xubuntu:1.0

In this case, unless you use docker kill or docker stop to terminate your container, the container would be kept running.

Note:

The backend mode should not be launched by the released images directly, because those images would require users to set a password when first opening the container. Users should set their passwords, save the image separately, and then could use the backend mode to launch their own images.

Usage: save the image

When you want to save your image, follow the instructions below:

  1. (This step is confirmed to be unnecessary.) Logout from your desktop by clicking the menu on the right top corner of the desktop.
  2. Hit Ctrl+C on your interactive terminal. This operation would terminate noVNC. You will see the websockify of noVNC is interrupted.
  3. Use the following command to terminate the VNC server:

     tigervncserver -kill :1
    
  4. Open another terminal. In that terminal, you should be outside of the image, use the following command to save your current container as a new image:

     docker commit <container-id> <image-name>:<tag>
    

    The <image-name> and <tag> could be determined by yourself. However, <container-id> should be found on your container-side terminal, it should follow the user name of your bash, like this:

     xubuntu@<container-id>: $
    

    or this (in root mode):

     root@<container-id>: #
    

Note 1: If you are saving a container launched with options (for example, docker run ... xubuntu:1.0 --bash), you need to use the following command to save the image with the options flushed:

docker commit --change='CMD [""]' <container-id> <image-name>:<tag>

If you do not add the option, your launching options would be remembered in your new image.

Note 2:

In any case when you launch your container by backend mode (with option -dit), you should not commit your image, because you could not kill your tigervncserver without the interactive shell.

Usage: more usages

Since ver 1.7

:warning: The following new features are firstly implemented in ver 1.7 desktop. Check the links to learn details.

Since ver 1.6

Documentation for currently built images (Jupyter Lab)

Updated on 1/16/2021

Here I am maintaining a list of currently built docker images on our DGX-230. Most of them are built based on:

jupyterlab branch

Usage: interactive mode

The basic usage for any of the following images could be divided into 4 cases:

Note:

If you start your container with a configured password, you could open the following address directly and fill in your password:

http://<dgx-230-ip>:xxxx

When you start your container without configuring the password, you would still be asked for a token, which would be shown in your terminal. In this case, we could use this address to skip the step for filling in the token:

http://<dgx-230-ip>:xxxx/?token=<token-from-the-terminal>

Usage: backend mode

If you want your container to run on the backend rather than interactively, please change -it to -dit. However, this option could be directly used for the released image. You do not need to save your own image first. For example:

docker run --gpus all -dit --rm --shm-size=1g -v ~:/homelocal -p 6080:6080 jlab:1.0 password=....

In this case, unless you use docker kill or docker stop to terminate your container, the container would be kept running.

Note:

When starting your container without setting the password, do not use the backend mode, because you will be asked for a token instead of the password, but you could only find the token from the terminal in this case.

Usage: save the image

When you want to save your image, follow the instructions below:

  1. Hit Ctrl+C on your interactive terminal. This operation would terminate Jupyter Lab.
  2. Open another terminal. In that terminal, you should be outside of the image, use the following command to save your current container as a new image:

     docker commit <container-id> <image-name>:<tag>
    

    The <image-name> and <tag> could be determined by yourself. However, <container-id> should be found on your container-side terminal, it should follow the user name of your bash, like:

     root@<container-id>: # 
    

Note 1: If you are saving a container launched with options (for example, docker run ... jlab:1.0 --bash), you need to use the following command to save the image with the options flushed:

docker commit --change='CMD [""]' <container-id> <image-name>:<tag>

If you do not add the option, your launching options would be remembered in your new image.

Note 2:

In any case when you launch your container by backend mode (with option -dit), you should not commit your image, because you could not kill your jupyterlab without the interactive shell.