OpenFOAM 도커(docker) 이미지 만들고 실행하기

1. 도커 설치

우분투에서는 docker-ce나 docker-io를 많이 사용하는 것 같다. 설치방법은 인터넷에 많이 나와 있어 쉽게 설치할 수 있으니 생략한다.

그런데 우분투 14.04에서는 두가지 모두 제대로 작동하지 않았다. 그래서 docker-engine을 설치했다. docker-engine의 설치는 아래의 사이트를 참고했다.

https://zetawiki.com/wiki/%EC%9A%B0%EB%B6%84%ED%88%AC14_docker_%EC %84%A4%EC%B9%98

MS Windows는 버전이 10 professional은 docker for windows를 설치하고 10 home이나 7에서는 docker toolbox를 설치하면 된다. 쉽게 설치할 수 있다.


2. 우분투 18.04에 OpenFOAM-7이 설치된 도커 이미지 만들기

우분투 18.04 이미지에 software-properties-common, vim, make, ssh, sudo, wget 등을 설치하고,  openfoam7을 설치한다.

이 과정을 Dockerfile로 만들고 docker build 명령을  실행해서 이미지를 만든다.

Dockerfile은 다음과 같다.

--------------------------------------------------------------------------------------------
FROM ubuntu:bionic

RUN apt-get update \
&& apt-get install -y \
vim \
make \
ssh \
sudo \
wget \
software-properties-common ;\
rm -rf /var/lib/apt/lists/*

RUN sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -" ;\
add-apt-repository http://dl.openfoam.org/ubuntu ;\
apt-get update ;\
apt-get install -y --no-install-recommends openfoam7 ;\
rm -rf /var/lib/apt/lists/* ;\
--------------------------------------------------------------------------------------------

Dockerfile이 준비되면 그 위치에서 아래의 명령을 실행하면 nextfoam/openfoam7 이라는 이름의 이미지가 만들어진다.

$ docker build -t nextfoam/openfoam7 .

'docker images' 명령을 사용하여 생성된 이미지를 확인할 수 있다.


3. 도커 실행 - 리눅스에서


옵션이 많아서 다음과 같은 실행 스크립트를 만들어 사용하는 것이 편리하다.

--------------------------------------------------------------------
xhost + > /dev/null

username="$USER"
user="$(id -u)"
home="${1:-$HOME}"

docker run --rm -it  \
    --user=${user}  \
    -e USER=${username}  \
    -e DISPLAY  \
    -w ${home}  \
    -v ${home}:${home}  \
    -v /etc/group:/etc/group:ro  \
    -v /etc/passwd:/etc/passwd:ro  \
    -v /etc/shadow:/etc/shadow:ro  \
    -v /etc/sudoers.d:/etc/sudoers.d:ro  \
    -v /tmp/.X11-unix:/tmp/.X11-unix  \
    nextfoam/openfoam7  \
    /bin/bash --rcfile /opt/openfoam7/etc/bashrc
--------------------------------------------------------------------

위의 파일 (runOF7) 의 속성을 실행가능하게 변경한다 .

$ chmod +x <script_file_name> 

실행파일 (runOF7) 위치를 PATH 로 지정하거나 PATH 가 지정된 위치에 옮겨 놓으면 편리하게 사용할 수 있다. 예를 들어 /usr/local/bin 에 복사한다 .

$ cp <script_file_name> /usr/local/bin/
$ <filenscript_file_nameme>

위의 파일을 실행하면 터미널이 도커 환경이 되고 OpenFOAM 을 사용할 수 있다 . 도커 환경은 Ubuntu 18.04 이며 사용자는 호스트 컴퓨터와 같은 사용자이며 사용자계정 아래의 모든 파일이 공유되어 있다 . X-window 환경도 공유되어 있어 paraview, gnuplot 등의 그래픽 응용 프로그램도 사용할 수 있다 .


윈도우에서 실행 방법은 다음의 사이트 참고

https://nextfoam.blogspot.com/2020/05/openfoam.html







댓글

이 블로그의 인기 게시물

BARAM 설치가이드(WINDOW)