0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenFOAMのDocker Imageの作成方法

Last updated at Posted at 2024-12-28

Dockerを使ってOpenFOAM用のイメージを作成する方法

はじめに

OpenFOAMは、CFD(計算流体力学)の分野で広く使われるオープンソースのシミュレーションソフトウェアです。しかし、異なるバージョンや環境設定の依存関係の管理が難しい場合があります。Dockerを使用することで、環境の再現性や移植性を確保しつつ、OpenFOAMを効率的に利用できます。以前にも、Mac上でOpenFOAMのDockerイメージをカスタマイズする方法を掲載しました。が、その情報自体が古くなってしまいました。そこで本ガイドでは、Dockerfileを作成してOpenFOAMのDockerイメージを構築する手順を改めてまとめておきたいと思います。


必要な準備

前提条件

  • Docker がインストールされていること。
  • 基本的なLinuxコマンドの知識。

Dockerのインストール (Homebrew)

% brew install --cask docker
(省略)
% brew list --version | grep docker
docker 4.11.1,84025

作業ディレクトリの準備

以下のコマンドで作業用ディレクトリを作成します。

mkdir openfoam
cd openfoam

Dockerfileの作成

作業ディレクトリ内に以下の内容でDockerfileを作成します。

ベースイメージの指定(Ubuntuを推奨)

FROM ubuntu:22.04

# 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
    software-properties-common \
    wget \
    build-essential \
    cmake \
    gcc \
    g++ \
    python3 \
    python3-pip \
    && apt-get clean

# OpenFOAMの公式リポジトリを追加
RUN wget -O - http://dl.openfoam.org/gpg.key | apt-key add - && \
    add-apt-repository http://dl.openfoam.org/ubuntu

# OpenFOAMのインストール
RUN apt-get update && apt-get install -y \
    openfoam10 && \
    apt-get clean

# bashrcにOpenFOAMの環境設定を追加
RUN echo "source /opt/openfoam10/etc/bashrc" >> ~/.bashrc

# 作業ディレクトリの設定
WORKDIR /home/openfoam

Imageのビルド

作成したDockerfileをもとに、Dockerイメージをビルドします。

docker build -t openfoam-image .

-t openfoam-image は作成するイメージの名前を指定します。

Containerの実行

作成したイメージからコンテナを起動します。

docker run -it --rm openfoam-image bash
  • -it は対話型モードを指定。
  • --rm はコンテナ終了時に自動削除を有効にします。
  • openfoam-image は作成したイメージ名。

OpenFOAMの動作確認

コンテナ内で以下のコマンドを実行し、OpenFOAMが正しく動作するか確認します。

foamInstallationTest

エラーがなければ、セットアップは成功です。

応用例

永続的なボリュームのマウント

ホストマシンのデータをコンテナ内で共有したい場合は、以下のようにボリュームをマウントして起動します。

docker run -it --rm -v $(pwd):/home/openfoam openfoam-image bash

これにより、現在のディレクトリがコンテナ内の/home/openfoamにマウントされます。

おわりに

以下に私が使用したDockerfileを挙げておきます。

# Start from the official Ubuntu Bionic (18.04 LTS) image
FROM ubuntu:22.04

# Install any extra things we might need
RUN apt-get update \
        && apt-get install -y \
                vim \
                ssh \
                sudo \
                wget \
                software-properties-common ;\
                rm -rf /var/lib/apt/lists/*

RUN apt-get update \
        && apt-get install -y \
        lv \
        htop \
        neofetch \
        curl \
        git ;\
        rm -rf /var/lib/apt/lists/*

# Create a new user called foam
RUN useradd --user-group --create-home --shell /bin/bash foam ;\
        echo "foam ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

# Install OpenFOAM v2212
RUN curl https://dl.openfoam.com/add-debian-repo.sh | bash
RUN apt-get update \
    && apt-get install -y openfoam2206-default ;\
    rm -rf /var/lib/apt/lists/*

# set the default container user to foam
USER foam

Dockerを活用することで、複雑な環境設定なしにOpenFOAMを手軽に利用できるようになります。このガイドを基に、自分の環境やプロジェクトに適したDockerイメージを作成してみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?