services: dev: build: context: . dockerfile: docker/Dockerfile target: mujoco_ros tags: - mujoco_ros:${ROS_DISTRO:-jazzy} args: - ROS_DISTRO=${ROS_DISTRO:-jazzy} # Ensures signals are actually passed and reaped in the container for shutdowns # https://docs.docker.com/compose/compose-file/compose-file-v3/#init init: true stdin_open: true tty: true network_mode: host # Allows graphical programs in the container. environment: - DISPLAY - QT_X11_NO_MITSHM=1 # Pass the ROS_DOMAIN_ID from the host, if available, otherwise we default to 1 to avoid spamming networks - ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-1} # Shared graphics between a host and a container are difficult. Users with GPUs may need to uncomment the # lines below to enable GPU rendering in the container. This connfiguration does not work across all # environments, and users may need to tweak their individual setups. # - NVIDIA_DRIVER_CAPABILITIES=all # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: 1 # alternatively, use `count: all` for all GPUs # capabilities: [ gpu ] volumes: # Mount the source code. - ./:/opt/mujoco/ws/src/mujoco_ros2_control:rw # Allows graphical programs in the container. - x11_sock:/tmp/.X11-unix - /tmp/.X11-unix:/tmp/.X11-unix:rw - ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority command: sleep infinity