Die diesmal überprüfte Umgebung ist wie folgt.
Hardware cpu - AMD Ryzen 9 3900X gpu - Geforce RTX 2060 super ram - 32G
Software os - ubuntu 20.04.1 kernel - Linux define 5.4.0-48-generic docker - 19.03.13 nvidia-driver - 450.66 cuda version - 11.0
Ich habe die Ausgabe von nvidia-smi
angehängt.
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66 Driver Version: 450.66 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 206... Off | 00000000:0E:00.0 On | N/A |
| 38% 40C P8 11W / 175W | 916MiB / 7979MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
Installieren Sie zuerst nvidia-container-runtime.
#passende Einstellungen
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
# nvidia-container-Laufzeitinstallation
$ sudo apt update
$ sudo apt install nvidia-container-runtime
#Starten Sie den Docker-Dienst neu
$ sudo systemctl restart docker.service
Registrieren Sie dann Ihre UID in der Docker-Gruppe. Ich denke, die Leute, die Docker benutzen, tun es, aber nur für den Fall.
$ sudo usermod -a -G docker `id -un`
$ sudo systemctl restart docker.service
Erstellen Sie als Nächstes das Docker-Image.
$ git clone https://github.com/chikuta/chikuta-dockerfiles.git
$ cd chikuta-dockerfiles
$ ./docker/ros-bionic-melodic/build-docker-image.bash
Als Nächstes können Sie den Container des erstellten Images starten, indem Sie den folgenden Befehl ausführen. Der Inhalt des Skripts ist ein Wrapping der Verarbeitung um xhost und der Argumente von Docker. Sie können Ihre eigene Umgebung erstellen, indem Sie sie nach Bedarf bearbeiten. Passen Sie sie daher aktiv an.
$ cd chikuta-dockerfiles
$ ./docker/ros-bionic-melodic/run-docker-container.bash
Wenn Sie das Skript ausführen, wird der Terminator gestartet. Da dies eine Terminalanwendung ist, die auf dem Docker-Container ausgeführt wird, werden alle hier ausgeführten Befehle auf dem Docker-Container verarbeitet.
Es ist in Mode, die Konsole von Standardrot auf Blau zu ändern.
Die Idee, terminator zu starten, basiert auf der Docker-Datei in shadow-robot. Da es sich bei der Head-Familie um eine übermäßige Spezifikation handelt, die in der Docker-Datei ansible ausgeführt wird, habe ich nur die erforderlichen Teile extrahiert und kompakt zusammengefasst.
Zum Schluss starten wir eine grundlegende GUI-App.
# 1st terminal
$ roscore
# 2nd terminal
$ rviz
# 3rd terminal
$ gazebo
Recommended Posts