吾生有涯 学海无涯
析模有界 知识无界

利用docker安装OpenFOAM-v2112

本文描述在Ubuntu下利用docker安装并使用OpenFOAM的基本过程。

虽然Linux下可以直接安装OpenFOAM,不过利用docker安装可以省去一大堆的编译(24核编译了两个多小时)或下载时间(实在无法忍受sourceforge的几KB的下载速度)。docker其本质上是个虚拟机,不过要比常规的虚拟机更友好。我们可以利用docker安装别人打包好的应用程序,达到开箱即用的效果。

1 安装docker

在Ubuntu下安装docker非常简单,启动终端,执行一条命令即可:

sudo snap install docker

如下图所示。

下载速度很快,一会儿就安装完了。此时可以在终端中输入命令docker --help,若如下图所示输出,则表示安装成功。

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令:

# 启动docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart

docker可以在任何linux系统下安装,同时docker还支持在windows及macos系统下使用。

2 获取镜像

docker hub中有大量的镜像可供下载,其网址为:https://hub.docker.com/。

如下所示,通过搜索可以找到一大堆OpenFOAM相关的镜像。

找到所要使用的镜像,点开来如下图所示,复制命令。

  • 如下图所示在终端输入命令sudo docker pull opencfd/openfoam2112-default,此时开始自动下载镜像文件,视网络状况可能需要几分钟的时间。

下载完毕后如下图所示。

此时可以利用命令sudo docker images查看镜像。如下图所示,可以看到刚下载的镜像文件已经有了

3 使用镜像

最简单的执行方式如下图所示。

其命令格式为:

sudo docker run 镜像名 命令

这是最基础的使用方式。

如要执行求解器icoFoam,可以使用命令:

sudo docker run opencfd/openfoam2112-default icoFoam

不过这种方式太麻烦,可以采用下面的两种方式之一:

  1. 创建一个交互式容器。

利用下面的命令创建一个名为of2112的交互式容器。

sudo docker run -it --name=of2112 --network=host opencfd/openfoam2112-default /bin/bash

该容器会自动打开一个bash,在里面可以尽情地使用OpenFOAM了。如下面执行icoFoam -help能够成功返回信息。

不过这种方法有个缺点,当输入命令exit会退出docker环境,此时要想再使用OpenFOAM就必须再执行上面的命令。若想要长期使用docker,可以创建守护式容器。

  1. 创建一个守护式容器。

利用下面的命令可以创建一个名为of2112的守护容器,可以长时间运行。

sudo docker run -itd --name=of2112 --network=host opencfd/openfoam2112-default

创建完毕后可以通过下面的命令进入容器:

sudo docker exec -it of2112 /bin/bash

此时执行OpenFOAM即可畅通无阻。

此为守护式容器,即使关闭终端,也可在新的终端通过进入容器再次使用。不过电脑重启了就必须运行上面两条命令。

# 获取所有的容器id
docker ps -a
# 停止一个已经在运行的容器
docker stop 容器名或容器id
# 启动一个已经停止的容器
docker start 容器名或容器id
# kill掉一个已经在运行的容器
docker kill 容器名或容器id
# 删除容器
docker rm 容器名或容器id

关于docker的其他操作,可参阅https://www.cnblogs.com/blog-rui/p/11244023.html或docker官方文档。

4 利用脚本安装

openfoam.com提供了一个可以直接使用openfoam的docker脚本,详细可见网址:https://develop.openfoam.com/Development/openfoam/-/wikis/precompiled/docker。

  1. 下载脚本openfoam-docker
  2. 运行下面的命令
chmod +x openfoam-docker
ln -sf openfoam-docker openfoam2112-default
  1. 测试脚本是否能够运行,可以使用下面的命令
openfoam-docker -help
openfoam-docker -help-full
  1. 运行脚本打开容器
openfoam-docker

openfoam-docker -dry-run

第一次运行脚本会下载镜像文件(大概700MB),视网络状况,大概需要几分钟到半个小时不等。

注意:docker不只可以在linux中运行,同样可以在windows下运行,所以上面的方法同样适合于在windows下利用docker安装OpenFOAM,不过windows下使用docker需要安装WSL 2(是windows下的docker需要WSL2运行环境)。镜像文件可以随便制作和拷贝,所以可以利用docker实现软件的即插即用。


(本文结束)

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《利用docker安装OpenFOAM-v2112》
文章链接:https://www.topcfd.cn/18781/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册