dockerize
1.0.0
より良いソリューションを探している場合は、OSRFのロッカーリポジトリをチェックアウトしてください
このスクリプトを使用すると、Gazeboのようなグラフィカルプログラムをあまり労力なく実行できるDockerコンテナを作成できます。この自動化は、ローカルインストールを模倣し、サンドボックス環境でプログラムを実行できます。ホームディレクトリをコンテナに取り付け、同じユーザー変数を共有します。
この「パッケージ」をインストールする必要はありません。しかし、あなたが望むならあなたは次のようなことをすることができます:
~/.dockerizeなどのローカルディレクトリを作成します~/.dockerizeでこのリポジトリをクローンします~./.dockerize/dockerize.sh /usr/local/bin/dockerizeにsymlinkを作成しますROS_DISTRO=noetic dockerizeどこにでも電話してください cd ~
git clone https://github.com/incebellipipo/dockerize .dockerize
sudo ln -s ~ /.dockerize/dockerize.sh /usr/local/bin/dockerize画像を作成します
画像の構築は非常に簡単です。スクリプトは、 ROS_DISTRO Environment変数に記載されているROSバージョンで画像を構築します。 Docker Hubで公開されているROSのバージョンに設定できます。
ROS_DISTRO=humble ./dockerize.sh build画像を実行します
./dockerize.sh runユーザーは、最初の実行ではグループに属していません。 Running groupsコマンドで確認できます。したがって、コンテナにログインした後、ローカルユーザーが属するグループに再度ログインする必要があります。これは/dev/driや/dev/sndなどのデバイスにアクセスするために必要です。
# Inside Docker
$ su - ${USER}
Password:コンテナを実行すると、TMUXまたはVSCODEリモート開発を使用して開発を行うことができます。
実行中のコンテナを取り付けます
ROS_DISTRO=humble ./dockerize.sh attach実行中のコンテナを停止します
ROS_DISTRO=humble ./dockerize.sh stop剥離した容器の掃除
ROS_DISTRO=humble ./dockerize.sh cleanホストに
export NVIDIA_DRIVER_VERSION="$(nvidia-smi --query-gpu=driver_version --format=csv,noheader)"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/"$NVIDIA_DRIVER_VERSION"/NVIDIA-Linux-x86_64-"$NVIDIA_DRIVER_VERSION".run
mv NVIDIA-Linux-x86_64-"$NVIDIA_DRIVER_VERSION".run NVIDIA-DRIVER.run
コンテナ内
sudo ./NVIDIA-DRIVER.run -a -N --ui=none --no-kernel-module
クレジット:https://stackoverflow.com/a/44187181
他のdockerfileを作成するのと同じようにカスタマイズします。