某案件で動作確認用にESI版のOpenFOAM(Windows, Docker)をインストールしようとしたらうまくいかなかったのでメモ。

環境

  • Windows10
  • ESI版 OpenFOAM v1906 (Windows, Docker)

エラー状況

インストーラー(OpenCFD-OpenFOAM4WindowsInstaller-v1906.exe)を実行後、デスクトップにできたショートカットを「OF_Env_Create」→「OpenFOAM_Start」の順に押すとOpenFOAMを利用できるターミナルが起動するはずが「OF_Env_Create」で

docker: invalid reference format: repository name must be lowercase.
See 'docker run --help'.
exit status 125

というようなエラーが出て、その後「OpenFOAM_Start」を実行してもOpenFOAMを利用できるターミナルが起動せず、「of_1906というdockerイメージが見つからない」といった意味のエラーが表示される。

対応方法

「Taro Yamada」の様にWindowsユーザー名にスペース文字が含まれることが原因。

「C:\Program Files (x86)\ESI\OpenFOAM\v1906\Windows\Scripts\of_create_container.ps1」の1行を以下のように書き換えることで問題を解消できた。

変更前

$ENV:mountedPath="/root/../c/Users/$ENV:username"+":/root/../home/ofuser/workingDir"

変更後

$ENV:mountedPath="/root/../c/Users/Public"+":/root/../home/ofuser/workingDir"

書き換え後、改めて「OF_Env_Create」→「OpenFOAM_Start」の順に実行。

エラー時に中途半端にdockerイメージができていて、イメージ名の重複エラーが起きる場合は「OF_Env_Create」で開くターミナルで「docker ps -a」でコンテナIDを確認し、「docker rm $(コンテナID)」で削除してから再試行。

コメント

今回はWindows,Docker用OpenFOAMに依存する3rdパーティーツールの動作確認をしたくてインストールを試したが、単にWindowsでOpenFOAMを使いたいのであればWSLでOpenFOAMをインストールしたほうが問題が起きにくいと思う。