macOSにDockerをインストールし,ubuntuでROSを動かす
macOSにDockerをインストールし,ubuntuでROSを動かす
タイトルの通りです.手順をメモします.
Dockerのインストール
- Docker Desktop for Macをダウンロード.
- インストーラーを走らせる.
- Dockerのアカウントを作成する.
- LaunchpadからDockerをクリックし,Docker Desktopを起動する.
正常にインストール,起動していることをターミナルで確認.
$ docker info
ROSイメージを起動
イメージをpullする.
perceptionに関するタスクを扱いたいので,下記のtagのものを選択.$ docker pull ros:melodic-perception-bionic
コンテナを起動する. ホストと共有のディレクトリを作っておくと作業が楽になります.
$ docker run -it --name docker_ros --net='host' -v ~/Desktop/sandbox/:/sandbox/ ros:melodic-perception-bionic /bin/bash
中身を見てみると,opencv,pclなどPerceptionに必要な基本ライブラリがすでにインストールされいました.
GUIが開かない件を解決する
rvizを起動しようとしたところ,Could not connect to any X display.と怒られます.
どうやらx serverの設定がうまく出来ていないようです.
こちらのLinkに従って対応します.
- XQuartzをインストール
- XQuartzを起動し,環境設定 --> セキュリティタブの"ネットワーク・クライアントからの接続を許可"にチェックを入れる.
Indirect GLXを有効にする.
$ defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
XQuartzを再起動
x serverにlocalhostを登録し,DISPLAY環境変数を指定してコンテナを起動.
$ xhost + 127.0.0.1 $ docker run -it --name docker_ros --net='host' -v ~/Desktop/sandbox/:/sandbox/ -e DISPLAY=docker.for.mac.localhost:0 -v="/tmp/.X11-unix:/tmp/.X11-unix:rw" --privileged ros:melodic-perception-bionic /bin/bash
rvizを起動するもsegmentation faultで落ちる.ムムム…
結局この問題を解決できずにmacでROSをイジるのは諦めた.
そこそこのスペックでいいからubuntuマシンを自宅に欲しいところ.
特にリモートワークが当たり前になるとねぇ.