ここでは以下の書籍に従い、Autoware Dockerを動作させていきます。
加藤 真平、藤居 祐輔、大里 章人 監修
安積 卓也、福富 大輔、徳永 翔太、橘川 雄樹、清谷 竣也 著
Autoware :自動運転ソフトウェア入門
以降「Autoware :自動運転ソフトウェア入門」を本書と記述します。
同じような投稿が他にもありますが、ここでは初心者を対象として、できるだけ丁寧に書いていきたいと思います。
また、私が行った内容をトレースしているため、最終的に不要な事を行っている場合もありますので、ご注意下さい。
Autowareのdocker環境構築は、本書の3.2章に記載されていますが、情報が既に古くなっています。
例えば本書ではAutowareはGitHubで開発されていると記載されていますが、現在はGitLabへ移行しています。
GitLab上のドキュメントに載っている手順ですが、新しい部分と古い部分が混在していて、少なくとも私にはわかりずらいです(2019年時点)。
環境
今回実施したのは以下の環境です。
- OS:Ubuntu 16.04
- GPU:GeForce GTX 960
Autowareバージョンの決定
動作させるAutowareのバージョンを決定します。
3.2章を読み進めていくとどうもUbuntu 16.04ではAutoware1.8を使っているようです。
しかしここを見るとUbuntu16.04では1.9.0〜1.12.0を使うように書かれています。
1.8.0についての記述はありません。よってここでは1.8.0に近い1.9.0を使うこととします。
#Nvidia GPUドライバのセットアップ
GPUドライバのセットアップについては3.2章には詳しい記述がありません。
UbuntuでNvidiaドライバのインストール方法をググってみると、リポジトリを登録してaptでインストールする方法がよく出てきます。
しかしドライバのバージョンは、使用するGPUに依存するだけでなく、CUDAのバージョンにも依存するので、単独のインストールは避けたいところです。
本書の3.3章を見るとCUDAのインストールを行うとGPUドライバがインストールできることがわかります。
CUDAのバージョンはAutowareのバージョンに依存しているらしいです。Autoware1.8に対応するCUDAのバージョンは8.0と本書に書かれていますが、AutowareとCUDAの対応バージョンの一覧は載っていないです。本書はココらへんは割と載っていないので、ちょっと違うことをやろうとすると判断に困ります。
以下をみるとUbuntu16.04ではCUDA9.0を使うと書かれています。
https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build
ちょっと不安ですがCUDA9.0を使うようにします。
以下からダウンロードします。
https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux
※画像はNVIDIA公式サイトから引用
Installer Typeは"dev(local)"を選択しました。
パッチがあるようですが目的はGPUドライバのみなのでBase Installerだけでいいでしょう。
画像の赤マルのところをクリックしてダウンロードします。
ファイルをダウンロードしたら四つのコマンドを実行しろと書かれています(上の画像の青シカク)ので、1つずつ実行していきます。
まずは、dpkgによるインストールコマンドです。
kameyama@u1604:~/ダウンロード$ ls
cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
kameyama@u1604:~/ダウンロード$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
以前に未選択のパッケージ cuda-repo-ubuntu1604-9-0-local を選択しています。
(データベースを読み込んでいます ... 現在 218236 個のファイルとディレクトリがインストールされています。)
cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb を展開する準備をしています ...
cuda-repo-ubuntu1604-9-0-local (9.0.176-1) を展開しています...
cuda-repo-ubuntu1604-9-0-local (9.0.176-1) を設定しています ...
The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
kameyama@u1604:~/ダウンロード$
kameyama@u1604:~/ダウンロード$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
OK
kameyama@u1604:~/ダウンロード$
kameyama@u1604:~/ダウンロード$ sudo apt-get update
取得:1 file:/var/cuda-repo-9-0-local InRelease
無視:1 file:/var/cuda-repo-9-0-local InRelease
取得:2 file:/var/cuda-repo-9-0-local Release [574 B]
・・・・略・・・・
取得:18 http://jp.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [5,320 B]
ヒット:20 http://repo.steampowered.com/steam precise InRelease
取得:21 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
1,589 kB を 1秒 で取得しました (979 kB/s)
パッケージリストを読み込んでいます... 完了
kameyama@u1604:~/ダウンロード$
kameyama@u1604:~/ダウンロード$ sudo apt-get install cuda
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
bbswitch-dkms ca-certificates-java cuda-9-0 cuda-command-line-tools-9-0 cuda-core-9-0
cuda-cublas-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0
cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0
cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-demo-suite-9-0
cuda-documentation-9-0 cuda-driver-dev-9-0 cuda-drivers cuda-libraries-9-0
cuda-libraries-dev-9-0 cuda-license-9-0 cuda-misc-headers-9-0 cuda-npp-9-0
cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0
cuda-nvrtc-dev-9-0 cuda-runtime-9-0 cuda-samples-9-0 cuda-toolkit-9-0
cuda-visual-tools-9-0 default-jre default-jre-headless dkms fonts-dejavu-extra freeglut3
freeglut3-dev java-common lib32gcc1 libc6-i386 libcuda1-384 libdrm-dev libgif7
libgl1-mesa-dev libglu1-mesa-dev libice-dev libjansson4 libpthread-stubs0-dev libsm-dev
libvdpau1 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev
libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev
libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev
libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxmu-dev libxmu-headers libxnvctrl0
libxshmfence-dev libxt-dev libxxf86vm-dev mesa-common-dev mesa-vdpau-drivers nvidia-384
nvidia-384-dev nvidia-modprobe nvidia-opencl-icd-384 nvidia-prime nvidia-settings
ocl-icd-libopencl1 openjdk-8-jre openjdk-8-jre-headless screen-resolution-extra
vdpau-driver-all x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev
x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev
x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
提案パッケージ:
bumblebee default-java-plugin libice-doc libsm-doc libxcb-doc libxext-doc libxt-doc
icedtea-8-plugin fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei
fonts-wqy-zenhei fonts-indic libvdpau-va-gl1 nvidia-vdpau-driver
nvidia-legacy-340xx-vdpau-driver
以下のパッケージが新たにインストールされます:
bbswitch-dkms ca-certificates-java cuda cuda-9-0 cuda-command-line-tools-9-0
cuda-core-9-0 cuda-cublas-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0
cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0
cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-demo-suite-9-0
cuda-documentation-9-0 cuda-driver-dev-9-0 cuda-drivers cuda-libraries-9-0
cuda-libraries-dev-9-0 cuda-license-9-0 cuda-misc-headers-9-0 cuda-npp-9-0
cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0
cuda-nvrtc-dev-9-0 cuda-runtime-9-0 cuda-samples-9-0 cuda-toolkit-9-0
cuda-visual-tools-9-0 default-jre default-jre-headless dkms fonts-dejavu-extra freeglut3
freeglut3-dev java-common lib32gcc1 libc6-i386 libcuda1-384 libdrm-dev libgif7
libgl1-mesa-dev libglu1-mesa-dev libice-dev libjansson4 libpthread-stubs0-dev libsm-dev
libvdpau1 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev
libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev
libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev
libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxmu-dev libxmu-headers libxnvctrl0
libxshmfence-dev libxt-dev libxxf86vm-dev mesa-common-dev mesa-vdpau-drivers nvidia-384
nvidia-384-dev nvidia-modprobe nvidia-opencl-icd-384 nvidia-prime nvidia-settings
ocl-icd-libopencl1 openjdk-8-jre openjdk-8-jre-headless screen-resolution-extra
vdpau-driver-all x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev
x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev
x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
アップグレード: 0 個、新規インストール: 105 個、削除: 0 個、保留: 0 個。
1,217 MB 中 120 MB のアーカイブを取得する必要があります。
この操作後に追加で 2,852 MB のディスク容量が消費されます。
続行しますか? [Y/n]
取得:1 file:/var/cuda-repo-9-0-local cuda-license-9-0 9.0.176-1 [22.0 kB]
取得:2 file:/var/cuda-repo-9-0-local cuda-misc-headers-9-0 9.0.176-1 [684 kB]
・・・・略・・・・
Adding debian:Staat_der_Nederlanden_EV_Root_CA.pem
done.
libc-bin (2.23-0ubuntu11) のトリガを処理しています ...
initramfs-tools (0.122ubuntu8.16) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-4.15.0-72-generic
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
dbus (1.10.6-1ubuntu3.5) のトリガを処理しています ...
ureadahead (0.100.0-19.1) のトリガを処理しています ...
ca-certificates (20170717~16.04.2) のトリガを処理しています ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
kameyama@u1604:~/ダウンロード$
インストールが完了したらUbuntuを再起動する必要があります。
nvidia-smiコマンドが実行できればOKです。
ここではバージョン384.130のドライバがインストールされていました。
#Dockerのインストール
本書の"3.2.2 Dockerのセットアップ"に従いDockerをインストールします。
ここら辺は以下に詳しく載ってます。
https://docs.docker.com/install/linux/docker-ce/ubuntu/
まずは過去のバージョンのDockerを削除します。
kameyama@u1604:~$ sudo apt-get remove docker docker-engine docker.io containerd runc
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
パッケージ 'docker-engine' はインストールされていないため削除もされません
パッケージ 'docker' はインストールされていないため削除もされません
パッケージ 'containerd' はインストールされていないため削除もされません
パッケージ 'docker.io' はインストールされていないため削除もされません
パッケージ 'runc' はインストールされていないため削除もされません
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
kameyama@u1604:~$
kameyama@u1604:~$ sudo apt-get update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
無視:4 http://dl.google.com/linux/chrome/deb stable InRelease
ヒット:5 http://repo.steampowered.com/steam precise InRelease
ヒット:6 http://dl.google.com/linux/chrome/deb stable Release
取得:8 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
109 kB を 1秒 で取得しました (97.2 kB/s)
パッケージリストを読み込んでいます... 完了
kameyama@u1604:~$
次にリポジトリをアップデートして、必要なパッケージをインストールします。
kameyama@u1604:~$ sudo apt-get update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
無視:4 http://dl.google.com/linux/chrome/deb stable InRelease
ヒット:5 http://repo.steampowered.com/steam precise InRelease
ヒット:6 http://dl.google.com/linux/chrome/deb stable Release
取得:8 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
109 kB を 1秒 で取得しました (97.2 kB/s)
パッケージリストを読み込んでいます... 完了
kameyama@u1604:~$
kameyama@u1604:~$
kameyama@u1604:~$ sudo apt-get install \
> apt-transport-https \
> ca-certificates \
> curl \
> gnupg2 \
> software-properties-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
apt-transport-https はすでに最新バージョン (1.2.32) です。
ca-certificates はすでに最新バージョン (20170717~16.04.2) です。
curl はすでに最新バージョン (7.47.0-1ubuntu2.14) です。
curl は手動でインストールしたと設定されました。
gnupg2 はすでに最新バージョン (2.1.11-6ubuntu2.1) です。
software-properties-common はすでに最新バージョン (0.96.20.9) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
kameyama@u1604:~$
次にDockerのofficial GPG keyを設定します。
kameyama@u1604:~$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
OK
kameyama@u1604:~$
kameyama@u1604:~$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
フィンガー・プリント = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
kameyama@u1604:~$
続けubuntu向けのstableリポジトリを登録します。
kameyama@u1604:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
kameyama@u1604:~$
kameyama@u1604:~$ sudo apt-get update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
ヒット:4 https://download.docker.com/linux/ubuntu xenial InRelease
無視:5 http://dl.google.com/linux/chrome/deb stable InRelease
ヒット:6 http://repo.steampowered.com/steam precise InRelease
ヒット:7 http://dl.google.com/linux/chrome/deb stable Release
取得:9 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
109 kB を 1秒 で取得しました (66.8 kB/s)
パッケージリストを読み込んでいます... 完了
kameyama@u1604:~$
updateも忘れずに実行します。
最後にdocker ceをインストールします。
kameyama@u1604:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
aufs-tools cgroupfs-mount git git-man liberror-perl pigz
提案パッケージ:
git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb
git-arch git-cvs git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli git git-man
liberror-perl pigz
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
89.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 409 MB のディスク容量が消費されます。
続行しますか? [Y/n]
取得:1 https://download.docker.com/linux/ubuntu xenial/stable amd64 containerd.io amd64 1.2.10-3 [19.9 MB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 pigz amd64 2.3.1-2 [61.1 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 aufs-tools amd64 1:3.2+20130722-1.1ubuntu1 [92.9 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 cgroupfs-mount all 1.2 [4,970 B]
取得:5 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git-man all 1:2.7.4-0ubuntu1.7 [736 kB]
取得:7 https://download.docker.com/linux/ubuntu xenial/stable amd64 docker-ce-cli amd64 5:19.03.5~3-0~ubuntu-xenial [42.4 MB]
取得:8 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git amd64 1:2.7.4-0ubuntu1.7 [3,160 kB]
取得:9 https://download.docker.com/linux/ubuntu xenial/stable amd64 docker-ce amd64 5:19.03.5~3-0~ubuntu-xenial [22.8 MB]
89.2 MB を 1秒 で取得しました (58.4 MB/s)
以前に未選択のパッケージ pigz を選択しています。
(データベースを読み込んでいます ... 現在 217124 個のファイルとディレクトリがインストールされています。)
.../pigz_2.3.1-2_amd64.deb を展開する準備をしています ...
pigz (2.3.1-2) を展開しています...
以前に未選択のパッケージ aufs-tools を選択しています。
.../aufs-tools_1%3a3.2+20130722-1.1ubuntu1_amd64.deb を展開する準備をしています ...
aufs-tools (1:3.2+20130722-1.1ubuntu1) を展開しています...
以前に未選択のパッケージ cgroupfs-mount を選択しています。
.../cgroupfs-mount_1.2_all.deb を展開する準備をしています ...
cgroupfs-mount (1.2) を展開しています...
以前に未選択のパッケージ containerd.io を選択しています。
.../containerd.io_1.2.10-3_amd64.deb を展開する準備をしています ...
containerd.io (1.2.10-3) を展開しています...
以前に未選択のパッケージ docker-ce-cli を選択しています。
.../docker-ce-cli_5%3a19.03.5~3-0~ubuntu-xenial_amd64.deb を展開する準備をしています ...
docker-ce-cli (5:19.03.5~3-0~ubuntu-xenial) を展開しています...
以前に未選択のパッケージ docker-ce を選択しています。
.../docker-ce_5%3a19.03.5~3-0~ubuntu-xenial_amd64.deb を展開する準備をしています ...
docker-ce (5:19.03.5~3-0~ubuntu-xenial) を展開しています...
以前に未選択のパッケージ liberror-perl を選択しています。
.../liberror-perl_0.17-1.2_all.deb を展開する準備をしています ...
liberror-perl (0.17-1.2) を展開しています...
以前に未選択のパッケージ git-man を選択しています。
.../git-man_1%3a2.7.4-0ubuntu1.7_all.deb を展開する準備をしています ...
git-man (1:2.7.4-0ubuntu1.7) を展開しています...
以前に未選択のパッケージ git を選択しています。
.../git_1%3a2.7.4-0ubuntu1.7_amd64.deb を展開する準備をしています ...
git (1:2.7.4-0ubuntu1.7) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
libc-bin (2.23-0ubuntu11) のトリガを処理しています ...
ureadahead (0.100.0-19.1) のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
systemd (229-4ubuntu21.23) のトリガを処理しています ...
pigz (2.3.1-2) を設定しています ...
aufs-tools (1:3.2+20130722-1.1ubuntu1) を設定しています ...
cgroupfs-mount (1.2) を設定しています ...
containerd.io (1.2.10-3) を設定しています ...
docker-ce-cli (5:19.03.5~3-0~ubuntu-xenial) を設定しています ...
docker-ce (5:19.03.5~3-0~ubuntu-xenial) を設定しています ...
liberror-perl (0.17-1.2) を設定しています ...
git-man (1:2.7.4-0ubuntu1.7) を設定しています ...
git (1:2.7.4-0ubuntu1.7) を設定しています ...
libc-bin (2.23-0ubuntu11) のトリガを処理しています ...
systemd (229-4ubuntu21.23) のトリガを処理しています ...
ureadahead (0.100.0-19.1) のトリガを処理しています ...
kameyama@u1604:~$
hello-worldイメージを起動させて動作確認とします。
kameyama@u1604:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:4fe721ccc2e8dc7362278a29dc660d833570ec2682f4e4194f4ee23e415e1064
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
#DockerからGPUを使う設定
DockerからGPUを使うためには、本書に従うとNVIDIA Dockerのセットアップを行う必要があります。
しかし、以下を見るとDocker のバージョン19.03以降の場合、DockerエンジンがGPUをサポートしているのでNVIDIA Dockerは不要とあります。
https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Generic-x86-Docker
インストールしたDockerのバージョンを確認すると19.3.5でしたのでNVIDIA Dockerは不要のようです。
kameyama@u1604:~$ docker --version
Docker version 19.03.5, build 633a0ea838
kameyama@u1604:~$
DockerからGPUを使用する方法は以下に記載されています。
それによるとnvidia-container-runtimeをインストールする必要があります。インストール方法は以下にあります。
このページに従って実行してみます。まずはGPGキーの設定から。
kameyama@u1604:~$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
> sudo apt-key add -
OK
次にリポジトリの登録
kameyama@u1604:~$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
kameyama@u1604:~$ 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
deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /
アップデートしてインストールします。
kameyama@u1604:~$ sudo apt-get update
取得:1 file:/var/cuda-repo-9-0-local InRelease
無視:1 file:/var/cuda-repo-9-0-local InRelease
取得:2 file:/var/cuda-repo-9-0-local Release [574 B]
取得:2 file:/var/cuda-repo-9-0-local Release [574 B]
無視:4 http://dl.google.com/linux/chrome/deb stable InRelease
ヒット:5 https://download.docker.com/linux/ubuntu xenial InRelease
ヒット:6 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
取得:7 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64 InRelease [1,106 B]
取得:8 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 InRelease [1,103 B]
ヒット:9 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
ヒット:10 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
ヒット:11 http://dl.google.com/linux/chrome/deb stable Release
取得:12 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64 Packages [8,576 B]
取得:13 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 Packages [9,212 B]
ヒット:14 http://repo.steampowered.com/steam precise InRelease
ヒット:16 http://security.ubuntu.com/ubuntu xenial-security InRelease
20.0 kB を 0秒 で取得しました (20.5 kB/s)
パッケージリストを読み込んでいます... 完了
kameyama@u1604:~$ apt-get install nvidia-container-runtime
E: ロックファイル /var/lib/dpkg/lock-frontend をオープンできません - open (13: 許可がありません)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
kameyama@u1604:~$ sudo apt-get install nvidia-container-runtimeパッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
libnvidia-container-tools libnvidia-container1 nvidia-container-toolkit
以下のパッケージが新たにインストールされます:
libnvidia-container-tools libnvidia-container1 nvidia-container-runtime
nvidia-container-toolkit
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
1,260 kB のアーカイブを取得する必要があります。
この操作後に追加で 4,136 kB のディスク容量が消費されます。
続行しますか? [Y/n]
取得:1 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64 libnvidia-container1 1.0.5-1 [57.9 kB]
取得:2 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64 libnvidia-container-tools 1.0.5-1 [15.6 kB]
取得:3 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 nvidia-container-toolkit 1.0.5-1 [575 kB]
取得:4 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 nvidia-container-runtime 3.1.4-1 [612 kB]
1,260 kB を 0秒 で取得しました (3,420 kB/s)
以前に未選択のパッケージ libnvidia-container1:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 231201 個のファイルとディレクトリがインストールされています。)
.../libnvidia-container1_1.0.5-1_amd64.deb を展開する準備をしています ...
libnvidia-container1:amd64 (1.0.5-1) を展開しています...
以前に未選択のパッケージ libnvidia-container-tools を選択しています。
.../libnvidia-container-tools_1.0.5-1_amd64.deb を展開する準備をしています ...
libnvidia-container-tools (1.0.5-1) を展開しています...
以前に未選択のパッケージ nvidia-container-toolkit を選択しています。
.../nvidia-container-toolkit_1.0.5-1_amd64.deb を展開する準備をしています ...
nvidia-container-toolkit (1.0.5-1) を展開しています...
以前に未選択のパッケージ nvidia-container-runtime を選択しています。
.../nvidia-container-runtime_3.1.4-1_amd64.deb を展開する準備をしています ...
nvidia-container-runtime (3.1.4-1) を展開しています...
libc-bin (2.23-0ubuntu11) のトリガを処理しています ...
libnvidia-container1:amd64 (1.0.5-1) を設定しています ...
libnvidia-container-tools (1.0.5-1) を設定しています ...
nvidia-container-toolkit (1.0.5-1) を設定しています ...
nvidia-container-runtime (3.1.4-1) を設定しています ...
libc-bin (2.23-0ubuntu11) のトリガを処理しています ...
kameyama@u1604:~$
インストールできたか確認します。
kameyama@u1604:~$ which nvidia-container-runtime-hook
/usr/bin/nvidia-container-runtime-hook
kameyama@u1604:~$
インストールできたようです。インストール後はDockerデーモンを再起動する必要があります。
kameyama@u1604:~$ sudo systemctl | grep docker
sys-devices-virtual-net-docker0.device loaded active plugged /sys/devices/virtual/net/docker0
sys-subsystem-net-devices-docker0.device loaded active plugged /sys/subsystem/net/devices/docker0
docker.service loaded active running Docker Application Container Engine
docker.socket loaded active running Docker Socket for the API
kameyama@u1604:~$ sudo systemctl restart docker
kameyama@u1604:~$
ここまで出来たらDockerイメージからGPUが使えるかを確認します。確認方法もhttps://docs.docker.com/engine/reference/commandline/run/#access-an-nvidia-gpu に従います。
GPUを使用する場合はオプション"--gpus"を使用します。このオプションにはどのGPUを使用するかを渡します。
ここではこだわりがないので"all"を指定しています。
kameyama@u1604:~$ sudo docker run -it --rm --gpus all ubuntu nvidia-smi
Fri Jan 3 02:50:00 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 Off | 00000000:01:00.0 On | N/A |
| 21% 38C P8 9W / 120W | 247MiB / 4036MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
kameyama@u1604:~$
#Autoware Dockerのセットアップ
ここではPre-built Autoware Docker Imageを使用する方法を取ります。
3.2.4 章の流れに従いAutoware Dockerをセットアップします。
まずは適当にディレクトリを作って、リポジトリをCloneします。本書に記載されいているリポジトリは古い(GitHub)ので、
https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Generic-x86-Docker に従います。
kameyama@u1604:~$ mkdir autoware
kameyama@u1604:~$ cd autoware/
kameyama@u1604:~/autoware$ git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git
Cloning into 'docker'...
remote: Enumerating objects: 536, done.
remote: Counting objects: 100% (536/536), done.
remote: Compressing objects: 100% (319/319), done.
remote: Total 536 (delta 237), reused 496 (delta 214), pack-reused 0
Receiving objects: 100% (536/536), 962.20 KiB | 719.00 KiB/s, done.
Resolving deltas: 100% (237/237), done.
Checking connectivity... done.
kameyama@u1604:~/autoware$
cloneした内容を確認します。
kameyama@u1604:~/autoware$ ls
docker
kameyama@u1604:~/autoware$ cd docker/
kameyama@u1604:~/autoware/docker$ ls -F
CODE_OF_CONDUCT.md LICENSE SUPPORT.md dependencies nvidia/
CONTRIBUTING.md README.md crossbuild/ generic/
kameyama@u1604:~/autoware/docker$ cd generic/
kameyama@u1604:~/autoware/docker/generic$ ls -F
Dockerfile Dockerfile.legacy.colcon hooks/
Dockerfile.base README.md run.sh*
Dockerfile.cuda.kinetic build.sh* run_no_nvidia_docker.sh*
Dockerfile.cuda.melodic dependencies
Dockerfile.legacy.catkin entrypoint.sh*
Pre-built Autoware Docker Imageを起動するにはrun.shスクリプトを実行しろと書かれているのですが、
既存のrun.shはDockerコンテナを使用しているため、NVIDIA Runtimeの指定方法が異なります。
run.sh -hでオプションを確認すると、CUDAのon/offの切り替えができますので、これをoff指定にすることでNVIDIA Dockerの設定を無効にし、先のDockerエンジンからNVIDIA Runtimeを指定するオプションをrun.shに追加します。具体的な変更は以下です。
kameyama@u1604:~/autoware/docker/generic$ git diff
diff --git a/generic/run.sh b/generic/run.sh
index c0a3d2b..e2857cb 100755
--- a/generic/run.sh
+++ b/generic/run.sh
@@ -117,7 +117,7 @@ echo -e "\tPre-release version: $PRE_RELEASE"
echo -e "\tUID: <$USER_ID>"
SUFFIX=""
-RUNTIME=""
+RUNTIME=" --gpus all "
XSOCK=/tmp/.X11-unix
XAUTH=$HOME/.Xauthority
kameyama@u1604:~/autoware/docker/generic$
run.shを実行します。先に記述した通りAutowareのバージョンは1.9.0、ROSはUbuntu16.04なのでROSはKineticです。
kameyama@u1604:~/autoware/docker/generic$ sudo ./run.sh -t 1.9.0 -r kinetic -c off
Using options:
ROS distro: kinetic
Image name: autoware/autoware
Tag prefix: 1.9.0
Cuda support: off
Pre-release version: off
UID: <0>
Launching autoware/autoware:1.9.0-kinetic
Unable to find image 'autoware/autoware:1.9.0-kinetic' locally
1.9.0-kinetic: Pulling from autoware/autoware
18d680d61657: Pulling fs layer
0addb6fece63: Pulling fs layer
78e58219b215: Pulling fs layer
eb6959a66df2: Waiting
7a0b022c2633: Waiting
2536ccb3c0e4: Waiting
72568544e638: Waiting
eb3c7a1fa7df: Waiting
89d000f1160c: Pull complete
ab501f65d629: Pull complete
d8ad9440c91b: Pull complete
d2f04e964386: Pull complete
adfe26dc1787: Pull complete
81077af92d65: Pull complete
dba30169ab94: Pull complete
a32d592f8e1d: Pull complete
d9c260415685: Pull complete
428ae4963ce1: Pull complete
5fdd11ef6135: Pull complete
0d5bc3d196a5: Pull complete
6a5190daa6ee: Pull complete
765fb5730fbd: Pull complete
bf41175d74f3: Pull complete
cd90ad64d433: Pull complete
941205d3e9b6: Pull complete
9386e57c18b6: Pull complete
3bc1bcc4e918: Pull complete
774c00c9d22f: Pull complete
53efcdafd4a1: Pull complete
ee426c8a1b38: Pull complete
55a185be5aac: Pull complete
Digest: sha256:217efb995faa0ef058723b7e98620462aa2c30d72a37e186ca590aebdf8e50c3
Status: Downloaded newer image for autoware/autoware:1.9.0-kinetic
autoware@u1604:~$
autoware@u1604:~$
プロンプトが"kameyama@u1604:"から"autoware@u1604:"へ変わりました。無事Autoware Docker imageが起動しました。
#Autowareの起動
最後にAutowareを起動します。~/Autoware/ros配下の"run"を実行します。
autoware@u1604:~$ pwd
/home/autoware
autoware@u1604:~$ ls
Autoware darknet shared_dir
autoware@u1604:~$ cd Autoware/
autoware@u1604:~/Autoware$ ls
AUTHORS docker docs LICENSE README.md ros THANKS ui vehicle
autoware@u1604:~/Autoware$ cd ros/
autoware@u1604:~/Autoware/ros$ ls
build catkin_make_release_cross cross_toolchain.cmake devel run shutdown
catkin_make_release cleanup cross_toolchain_driveworks.cmake dpp run_proc_manager src
autoware@u1604:~/Autoware/ros$ ./run
Process Manager
しかし、、、
本書の"5章 Autowareの立ち上げ"に従いDEMOを実行したところ、Runtime ManagerからのROSツールの呼び出し("RViz"ボタンを押す)でエラーになりました。dockerコンテナからOpenGLが使えないようです。
やっぱりNVIDIA Dockerを使うべきか?
※DEMOについてはここでは詳しく書きません。そのうち別に書くかも?
#NVIDIA Dockerのインストール
pre-build Autoware docker imageはNVIDIA Dockerを使用するようになっているので、NVIDIA dockerをインストールします。
NVIDIA Dockerには1(無印)と2があります。本書の"3.2.3 NVIDIA Dockerのインストール"ではNVIDIA Docker 1を使用することになっていますが、Autoware 1.9.xのrun.shではNVIDIA Docker2を使っていましたので、そちらをインストールします。
kameyama@u1604:~$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
OK
kameyama@u1604:~$ curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /
kameyama@u1604:~$ sudo apt-get update
取得:1 file:/var/cuda-repo-9-0-local InRelease
無視:1 file:/var/cuda-repo-9-0-local InRelease
取得:2 file:/var/cuda-repo-9-0-local Release [574 B]
取得:2 file:/var/cuda-repo-9-0-local Release [574 B]
ヒット:3 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:4 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
ヒット:6 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
無視:7 http://dl.google.com/linux/chrome/deb stable InRelease
ヒット:8 https://download.docker.com/linux/ubuntu xenial InRelease
ヒット:9 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64 InRelease
ヒット:10 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 InRelease
取得:11 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 InRelease [1,096 B]
ヒット:12 http://repo.steampowered.com/steam precise InRelease
ヒット:13 http://dl.google.com/linux/chrome/deb stable Release
取得:14 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 Packages [8,796 B]
取得:15 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
取得:17 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [74.7 kB]
取得:18 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [79.5 kB]
取得:19 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [124 kB]
取得:20 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [194 kB]
取得:21 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 DEP-11 Metadata [2,464 B]
593 kB を 2秒 で取得しました (288 kB/s)
パッケージリストを読み込んでいます... 完了
W: ターゲット Packages (Packages) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (ja_JP) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (ja) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (en) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Packages (Packages) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (ja_JP) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (ja) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (en) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Packages (Packages) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (ja_JP) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (ja) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Translations (en) は /etc/apt/sources.list.d/nvidia-container-runtime.list:1 と /etc/apt/sources.list.d/nvidia-docker.list:1 で複数回設定されています
W: ターゲット Packages (Packages) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (ja_JP) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (ja) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
W: ターゲット Translations (en) は /etc/apt/sources.list.d/nvidia-container-runtime.list:2 と /etc/apt/sources.list.d/nvidia-docker.list:2 で複数回設定されています
kameyama@u1604:~$ sudo apt-get install -y nvidia-docker2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libllvm5.0 snapd-login-service
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
nvidia-docker2
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
2,866 B のアーカイブを取得する必要があります。
この操作後に追加で 18.4 kB のディスク容量が消費されます。
取得:1 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 nvidia-docker2 2.2.2-1 [2,866 B]
2,866 B を 0秒 で取得しました (9,939 B/s)
以前に未選択のパッケージ nvidia-docker2 を選択しています。
(データベースを読み込んでいます ... 現在 231230 個のファイルとディレクトリがインストールされています。)
.../nvidia-docker2_2.2.2-1_all.deb を展開する準備をしています ...
nvidia-docker2 (2.2.2-1) を展開しています...
nvidia-docker2 (2.2.2-1) を設定しています ...
kameyama@u1604:~$
#NVIDIA Docker 2を使ったAutoware Dockerの起動
NDIVIA Dockerを使ったAutoware Dockerを起動してみます。
NVIDIA Dockerを使用しなかったときに変更した"run.sh"はもとに戻してください。
Autowareのバージョンは1.9.0、ROSはUbuntu16.04なのでROSはKineticです。
kameyama@u1604:~/autoware/docker/generic$ sudo ./run.sh -t 1.9.0 -r kinetic -c on
Using options:
ROS distro: kinetic
Image name: autoware/autoware
Tag prefix: 1.9.0
Cuda support: on
Pre-release version: off
UID: <0>
Launching autoware/autoware:1.9.0-kinetic-cuda
Unable to find image 'autoware/autoware:1.9.0-kinetic-cuda' locally
docker: Error response from daemon: manifest for autoware/autoware:1.9.0-kinetic-cuda not found: manifest unknown: manifest unknown.
See 'docker run --help'.
kameyama@u1604:~/autoware/docker/generic$
エラーがでました。どうもautoware/autoware:1.9.0-kinetic-cudaというdocker imageが無いようです。
Docker-hubでイメージを探してみます。検索はDocker Hubの公式サイトから行います。
https://hub.docker.com/
以下、画像はDocker Hub公式サイトからの引用です。
"autoware"で検索します(赤四角部分)。
複数検索されますが、"Autoware/autoware"が正解です。
タブ"tag"を選択し、"1.9"で検索してみたところ、確かにありません。
いっそのことUbuntu 16.04で使える最新の1.12.0にしてみます。
1.12.0を使用する場合、sudoで起動することができませんでした。そこで自ユーザをdockerグループに追加して、自ユーザからdockerを起動できるようにします。
追加後はdockerサービス一式を再起動する必要があります。面倒なのでPCを再起動しました。
kameyama@u1604:~/autoware/docker/generic$ ./run.sh -t 1.12.0 -r kinetic
Using options:
ROS distro: kinetic
Image name: autoware/autoware
Tag prefix: 1.12.0
Cuda support: on
Pre-release version: off
UID: <1000>
Launching autoware/autoware:1.12.0-kinetic-cuda
Unable to find image 'autoware/autoware:1.12.0-kinetic-cuda' locally
1.12.0-kinetic-cuda: Pulling from autoware/autoware
f7277927d38a: Pulling fs layer
8d3eac894db4: Pulling fs layer
edf72af6d627: Pulling fs layer
3e4f86211d23: Waiting
043ed1e8467c: Pulling fs layer
e012378676bb: Waiting
b660a670cd96: Waiting
9d36c8c1d464: Pulling fs layer
9aa65fdb2ffc: Waiting
0d6158c90f97: Waiting
d88a338206e9: Pull complete
9e53d5eaa46e: Pull complete
bd1a8624b870: Pull complete
feff03c28825: Pull complete
e15ebf0d9f8f: Pull complete
3d758a5f8930: Pull complete
9144371c59ca: Pull complete
3fb4ac91b3db: Pull complete
88a50a258b75: Pull complete
feb2fd5f57e3: Pull complete
5d2e178afc7d: Pull complete
fc9d69c0c60a: Pull complete
c2c4a7b696e8: Pull complete
cd2510ba8834: Pull complete
3a95675ea1d8: Pull complete
49cb36c7682b: Pull complete
ef1393e2650f: Pull complete
25eaca28f128: Pull complete
423a4e601079: Pull complete
5cdf53770173: Pull complete
42f136333de3: Pull complete
3f278d8fa51b: Pull complete
ba80186b4625: Pull complete
Digest: sha256:7c2fdb7974b8643230ac9275f0c647f49c602f91a6db8227b3e8ba1ff83ab253
Status: Downloaded newer image for autoware/autoware:1.12.0-kinetic-cuda
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
autoware@u1604:~$
1.12.0のAutoware dockerイメージが起動しました。
1.12.0以降ではAutowareの起動方法も違っています。
https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/ROSBAG-Demo
autoware@u1604:~/Autoware$ source install/setup.bash
autoware@u1604:~/Autoware$ ls
autoware.ai.repos build install log src
autoware@u1604:~/Autoware$ roslaunch runtime_manager runtime_manager.launch
... logging to /home/autoware/.ros/log/8f141552-302e-11ea-b922-74d435181e13/roslaunch-u1604-1043.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://u1604:40423/
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
/
run (runtime_manager/run)
auto-starting new master
process[master]: started with pid [1053]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 8f141552-302e-11ea-b922-74d435181e13
process[rosout-1]: started with pid [1066]
started core service [/rosout]
process[run-2]: started with pid [1069]
[run-2] process has finished cleanly
log file: /home/autoware/.ros/log/8f141552-302e-11ea-b922-74d435181e13/run-2*.log
以上です。
※各種製品名は、各社の製品名称、商標または登録商標です。本記事に記載されているシステム名、製品名には、必ずしも商標表示((R)、TM)を付記していません。