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/* ;\
--------------------------------------------------------------------------------------------
우분투에서는 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
--------------------------------------------------------------------
$ 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
--------------------------------------------------------------------
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
댓글
댓글 쓰기