OGS容器制造商
ogscm的Python项目详细描述
OGS容器制造商
一般用法
安装
virtualenv ~/.venv/ogs-container-maker
source ~/.venv/ogs-container-maker/bin/activate
pip install ogscm
生成容器定义
$ ogscm Creating 1 image definition(s)... Created definition _out/docker/ubuntu_17.10/ogs-4c7de6a4/serial/conan/cmake-d41d8cd9/Dockerfile # With user options $ ogscm --format singularity --ompi 2.1.3 --cmake_args ' -DOGS_BUILD_PROCESSES=GroundwaterFlow' Creating 1 image definition(s)... Created definition _out/singularity/ubuntu_17.10/ogs-4c7de6a4/openmpi-2.1.3/conan/cmake-fde09bf7/Singularity.de
建立图像
添加--build
标志。
将Docker图像转换为奇点图像:
添加--convert
标志(需要singularity 3.x)。
运行
docker run --it --rm ogs-ompi-2.1.3
# in container:
ogs --version
singularity shell ogs-ompi-2.1.3.sif # in container: ogs --version # OR directly run from host singularity exec ogs-ompi-2.1.3.sif ogs local/path/to/square_1e0.prj
使用组合生成器
使用不同的openmpi实现和opengeosys并行配置创建docker定义文件(从当前主文件),构建docker图像并将其转换为奇点图像:
python build.py --ogs ufz/ogs@master --ompi 2.1.2 3.1.2 --build --convert
有关更多选项,请查看帮助:
$ ogscm --help usage: ogscm [-h][--recipe RECIPE][--out OUT][--file FILE][--print][--format [{docker,singularity}[{docker,singularity} ...]]][--pm [{system,conan}[{system,conan} ...]]][--ompi [OMPI [OMPI ...]]][--ogs [OGS [OGS ...]]][--cmake_args [CMAKE_ARGS [CMAKE_ARGS ...]]][--build][--upload][--registry REGISTRY][--convert][--runtime-only][--base_image BASE_IMAGE][--clang][--gui][--docs][--jenkins][--cvode][--cppcheck][--iwyy][--gcovr][--dev][--compiler_version COMPILER_VERSION] Generate container image definitions. optional arguments: -h, --help show this help message and exit --recipe RECIPE HPCCM recipe (default: recipes/ogs-builder.py) --out OUT Output directory (default: _out) --file FILE Overwrite output recipe file name (default: ) --print, -P Print the definition to stdout (default: False) Combinatorial options: All combinations of the given options will be generated --format [{docker,singularity}[{docker,singularity} ...]] --pm [{system,conan}[{system,conan} ...]] Package manager to install third-party dependencies (default: ['conan']) --ompi [OMPI [OMPI ...]] OpenMPI version, e.g. 2.1.1, 2.1.5, 3.0.1, 3.1.2 (default: ['off']) --ogs [OGS [OGS ...]] OGS GitHub repo in the form 'user/repo@branch' or 'off' to disable OGS building (default: ['ufz/ogs@master']) --cmake_args [CMAKE_ARGS [CMAKE_ARGS ...]] CMake argument sets have to be quoted and **must** start with a space. e.g. --cmake_args ' -DFIRST=TRUE -DFOO=BAR'' -DSECOND=TRUE'(default: ['']) Image build options: --build, -B Build the images from the definition files (default: False) --upload, -U Upload Docker image to registry (default: False) --registry REGISTRY The docker registry the image is tagged and uploaded to. (default: registry.opengeosys.org/ogs/ogs) --convert, -C Convert Docker image to Singularity image (default: False) --runtime-only, -R Generate multi-stage Dockerfiles for small runtime images (default: False) Additional options: --base_image BASE_IMAGE The base image. 'centos:7' is supported too. (default: ubuntu:17.10) --clang Use clang instead of gcc (default: False) --gui Builds the GUI (Data Explorer)(default: False) --docs Setup documentation requirements (Doxygen)(default: False) --jenkins Setup Jenkins slave (default: False) --cvode Install and configure with cvode (default: False) --cppcheck Install cppcheck (default: False) --iwyy Install include-what-you-use (default: False) --gcovr Install gcovr (default: False) --dev Installs development tools (vim, gdb)(default: False) --compiler_version COMPILER_VERSION Compiler version. (default: )