自動運転系のソフトウェアのテストプラットフォーム?であるCarMakerのv9がリリースされて、Dockerに対応したと知った。
CarMaker9.0のリリース | IPG Automotive https://ipg-automotive.com/jp/products-services/simulation-software/carmaker90%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/
どんなものかと例など確認したが、現時点だとDockerに対応した(Dockerを動かす主要なユースケースに合う形で使える)というよりは、Docker上で動かすこと手順が一先ず確立できた、くらいの感じだった。
例えばコンテナイメージが公開されているわけでもないし、提供されているDockerfileの例を見ても、普段Dockerを触る人からすると随分と乱暴な使い方だなと思わざるを得なかったり。(CarMakerのソフトウェアが置いてあるディレクトリのトップと、CarMakerを動かす際に作る作業フォルダをそれぞれマウントしたら動きます、くらいの感じ)
とはいえ、ライセンスの観点で動かすことがOKというのをクリアにしてくれたのはありがたいし、今後の発展に期待するしかないのかもしれない。
とりあえず全部マウントするのだとサーバー上で動かすときのセットアップとかしんどいし再利用しづらいので、Dockerfileを一部書き換えてみた。
RUN echo "server localhost" >> /opt/ipg/etc/Licenses
# carmaker modulesの配置
COPY carmaker /opt/ipg/carmaker/linux64-9.0
# project folderの配置
COPY projectdir /CM_Projects/DockerExample
WORKDIR /CM_Projects/DockerExample
このようにすれば、マウントせずに動かせる。
ただ、実施結果などをこれだと取り出せないので、出力先のディレクトリを決めてそこだけはマウントする必要があるかもしれない。
今回のケースで言えば
コンテナの /CM_Projects/DockerExample/SimOutput をホストのどこか(e.g. /opt/ipg/dockerproject/projectdir/SimOutput)にマウントしてあげると、とりあえずログだけは見れそう。
指定されている使用OSのイメージもUbuntuでちょっとこれだと複数払い出すときには重いから、alpineとか使えると嬉しいんだけど道のりは遠いかもしれない。