Tiryoh / docker-ros-desktop-vnc

🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop + ROS
https://memoteki.net/archives/2955
Apache License 2.0
273 stars 56 forks source link

raspi+docker環境でdockerコンテナの起動に失敗してしまいました #10

Closed seigot closed 4 years ago

seigot commented 4 years ago

raspi+docker環境でdockerコンテナの起動に失敗してしまいました raspberrypi4+raspbian busterです。docker run時に以下のエラーが出てしまいました。 これは何か設定が足りないのでしょうか。もし何か知見をお持ちでしたら指摘頂けると助かります。

pi@raspberrypi:~ $ sudo docker run -p 6080:80 --shm-size=512m tiryoh/ros-desktop-vnc:melodic
standard_init_linux.go:211: exec user process caused "exec format error"
Tiryoh commented 4 years ago

@seigot tiryoh/ros-desktop-vncがベースとしているDockerイメージ(dorowu/ubuntu-desktop-lxde-vnc)はamd64用だけ公開されています。そのためArmのCPUを搭載したRaspberry Pi上ではそのままでは使用できません。 standard_init_linux.go:211: exec user process caused "exec format error"は異なるアーキテクチャ上でDockerイメージを実行しようとしたときによく発生するエラーです。

https://github.com/fcwu/docker-ubuntu-vnc-desktop 上記のリポジトリ内にはarm64用Dockerfileも公開されているようですので、以下の手順を踏むともしかしたらros-desktop-vncをRaspberry Pi 4上で動かすことができるかもしれません。

  1. dorowu/ubuntu-desktop-lxde-vncをRaspberry Pi 4上でビルド(または付属のMakefileを使ってクロスコンパイル)
  2. tiryoh/ros-desktop-vncをRaspberry Pi 4上でビルド
seigot commented 4 years ago

ご回答ありがとうございます。 上記、試してみようと思います。

seigot commented 4 years ago

以下の通り、arm64向けのdorowu/ubuntu-desktop-lxde-vncを取得してDockerのFROMに指定してビルドすると起動できました。

sudo docker pull dorowu/ubuntu-desktop-lxde-vnc:bionic-arm64

アドバイスありがとうございました。