Platform Docker - padogrid/padogrid GitHub Wiki

◀️ Platform: Host OS :link: Platform: Kubernetes ▶️


Docker This section provides instructions for starting and running the PadoGrid container.


Starting PadoGrid Container

# Docker
docker run --name padogrid --hostname padogrid -d -p 8888:8888 padogrid/padogrid

# Podman
podman run --name padogrid --hostname padogrid -d -p 8888:8888 padogrid/padogrid

✏️ Depending on the bundle you are installing, additional port numbers may need to be exposed. Please see the bundle instructions for details.

Once the container is started, from the browser, login to JupyerLab as follows.

You can also login directly to the container as follows.

# Docker
docker exec -it padogrid /bin/bash

# Podman
podman exec -it padogrid /bin/bash

Changing JupyterLab Password

To change the JupyterLab password, follow the steps below.

  • Login to PadoGrid as described above.
  • Enter a new password by running the following.
jupyter server password
  • Stop the JupyterLab instance. The following will stop the JupyterLab instance and the PadoGrid container will automatically restart a new instance. You will need to refresh your browser for the new password to get activated.
stop_jupyter

Running GUI Apps from Container

For bundles that are equipped with GUI apps, you can use X11 to display them on your host OS.

X11 PadoGrid Docker Image: 0.9.28+

The PadoGrid container image versions previous to 0.9.28 do not include X11 client packages and hence, you must install them manually.

1. From the host OS

First, install and run an X11 server on you host OS following the link that applies to your OS.

  • macOS: XQuartz
  • Windows: Xming, MobaXterm
  • Linux: Use the package manager to install X11 packages. For example, on Ubuntu, sudo apt install xorg openbox.

Upon completion of installing and running X11, list the display authorization entries.

xauth list

Output:

myhost.local:0  MIT-MAGIC-COOKIE-1  2a7842352bdc123b2cf92c01bf0e822b

Your output may contain more than one (1) entry. We need the one with the host name that the containers can access. If the container is unable to resolve the host name then use the IP address instead.

myhost.local:0  MIT-MAGIC-COOKIE-1  2a7842352bdc123b2cf92c01bf0e822b

✏️ The trailing number, :0 indicates the primary monitor. If you have a second monitor, it would be :1.

2. From inside the container

Copy/paste the display authorization entry to the xauth add command and set the DISPLAY environment variable as follows.

touch ~/.Xauthority
xauth add myhost.local:0  MIT-MAGIC-COOKIE-1  2a7842352bdc123b2cf92c01bf0e822b
export DISPLAY=myhost.local:0

To test GUI apps, install and run Hazelcast Desktop.

install_padogrid -product hazelcast-desktop
update_padogrid -product hazelcast-desktop
install_app -product hazelcast -app desktop
cd_app desktop/bin_sh
./desktop

The desktop app window should display on your primary screen.

Teardown

Stop and remove the container

# Docker
docker stop padogrid
docker rm padogrid

# Podman
podman stop padogrid
podman rm padogrid

◀️ Platform: Host OS :link: Platform: Kubernetes ▶️