1.リモートサーバからの映像が飛んでくるか確認
XLaunchを立ち上げる。
ここにチェックを忘れずに入れる。
ssh remotehost
xeyes
ちなみにこのとき
$DISPLAY
localhost:13.0: command not found
2.ローカル上のdockerでGUIを表示
XLaunchを立ち上げる。
Windows(WSL2)を使っている場合、localhost:0ではうまくいかないので、自分自身のIPを直打ちしてDISLPAYを指定する。
export DISPLAY=ローカルのIPアドレス:0
xeyes
でさっきと同じ目が出力されればOK
3.リモート上のdockerでGUIを表示
ここからが本題
docker-compose.yml
version: "3.2"
services:
ubuntu:
build:
context: .
dockerfile: Dockerfile
container_name: "disp_container"
network_mode: host
volumes:
- /dev/bus/usb:/dev/bus/usb
- ./workspace:/workspace
- ~/.Xauthority:/root/.Xauthority
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
- DISPLAY=$DISPLAY
tty: true
network_mode: host
- ~/.Xauthority:/root/.Xauthority
がないとGUIが表示されない
ちなみに
Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install x11-xserver-utils -y
RUN apt-get install x11-apps -y
docker compose build
docker compose up
xeyes
で表示されれば大丈夫。
この時
$DISPLAY
bash: localhost:11.0: command not found