Sign inSign up

gusanagy/holoocean-cuda-dev-4

By gusanagy

•Updated over 1 year ago

CUDA-ready HoloOcean dev image with Vulkan, OpenCV, and X11 GUI support 🐳🎮🧠

Image
Machine learning & AI
Developer tools
Data science
0

464

gusanagy/holoocean-cuda-dev-4 repository overview

⁠🐳 HoloOcean CUDA Dev Container

A ready-to-use Docker environment for developing and running HoloOcean⁠ simulations with CUDA, Vulkan, and full GUI support.

🚀 Ideal for reinforcement learning, marine robotics, and simulation research with GPU acceleration.


⁠📦 Features

  • ✅ CUDA 12.8.1 support for GPU-based training and simulation
  • 🧠 HoloOcean Python API pre-installed
  • 🎮 Vulkan/Mesa graphics stack for real-time rendering
  • 📸 OpenCV with Python bindings
  • 🖥️ X11 GUI support for graphical environments
  • 🐧 Based on Ubuntu, with development tools and dependencies

⁠🗂️ Repository Structure

. ├── Dockerfile # Builds the dev image ├── start_container.sh # 🧠 Automates container startup with GUI support ├── /client/tests # Contains test scripts for HoloOcean environments └── README.md


⁠⚙️ Automated Container Startup

The script start_container.sh simplifies the initialization of the development container by:

  • 🔐 Setting correct permissions for X11, enabling GUI apps inside Docker
  • 📂 Automatically mounting your host directory inside the container
  • 🎮 Enabling GPU access via --gpus all and NVIDIA runtime
  • 📌 Running the container in interactive mode with a custom working directory
⁠📜 Example Script (start_container.sh)
#!/bin/bash
# Declara que o script será interpretado pelo bash

# ============================
# DEFINIÇÕES INICIAIS
# ============================

# Nome que será dado ao container em execução
CONTAINER_NAME="holoocean_dev_container_cuda_12.2"

# Nome da imagem Docker que você construiu previamente com Dockerfile
IMAGE_NAME="gusanagy/holoocean-cuda-dev-4:latest"

# Diretório atual do host, será montado dentro do container
HOST_DIR=$(pwd)

# ============================
# PERMISSÃO PARA INTERFACE GRÁFICA (X11)
# ============================

# Libera acesso ao servidor X11 para o Docker (permite abrir janelas gráficas dentro do container)
#xhost +local:docker

# ============================
# EXECUÇÃO DO CONTAINER
# ============================

# Inicia o container Docker com todos os parâmetros
docker run -it --rm \
  --name "$CONTAINER_NAME" \
  --gpus all \
  --runtime=nvidia \
  --net=host \
  --ipc=host \
  --privileged \
  -e DISPLAY=$DISPLAY \
  -e NVIDIA_VISIBLE_DEVICES=all \
  -e NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility \
  -e QT_X11_NO_MITSHM=1 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v "$HOST_DIR:/tmp/shared" \
  -w /home/developer/HoloOcean \
  -u developer \
  "$IMAGE_NAME"

💡 Why it's important: Starting GPU-based GUI containers manually can be complex. This script automates the setup, avoiding common issues with graphics, permissions, and device visibility.

⁠🚀 Getting Started

⁠1. Pull the Docker image
docker pull your_dockerhub_username/holoocean-cuda-dev-4:latest
  1. Make the startup script executable
chmod +x start_container.sh
  1. Run the container
./start_container.sh

⁠👨‍🔬 Use Cases

🤖 Reinforcement learning with underwater agents

🌊 Marine robotics simulation using Unreal Engine

🧪 Research and prototyping for AI, control systems, and simulation environments

🤝 Contributing Contributions are welcome! Feel free to open issues, suggest improvements, or submit pull requests to help expand and enhance this development container for other users and use cases.

Tag summary

Content type

Image

Digest

sha256:72058b883…

Size

12.8 GB

Last updated

over 1 year ago

docker pull gusanagy/holoocean-cuda-dev-4