From 73d6e3fffb18045989df90ce90ce6d95eb8cb6bd Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 13 Nov 2024 12:59:11 -0800 Subject: [PATCH] edits --- Docker-app-cookbook.md | 52 +++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/Docker-app-cookbook.md b/Docker-app-cookbook.md index 0001eaa..87af05d 100644 --- a/Docker-app-cookbook.md +++ b/Docker-app-cookbook.md @@ -8,26 +8,29 @@ This explains the two ways of packaging Docker apps: * Single-purpose app: there is one BOINC app per science app. You need to create new BOINC app versions each time your science app changes. -This means that scientists must have login access to +This means your science app developers must have login access to the BOINC server, and must learn BOINC's command-line tools. * Universal app: there is a single BOINC app (and a set of per-platform app versions) that handles all science apps. -Dockerfiles and science executables are included -in the input files for jobs. -This allows the creation of web-based job submission -systems that let scientists use (and evolve) +Dockerfiles and science executables are included with each job. +This provides flexibility. +For example, it lets you create web-based job submission +systems in which scientists use (and evolve) Docker apps without logging into the server (or indeed knowing anything about BOINC). -We're going to give cookbooks for both packaging methods. +This page has cookbooks for both packaging methods. In both cases we're going to make a Docker app for Windows; the Linux and Mac OS cases are similar. -Job for this app will be sent only to BOINC 9.0+ clients that have Docker. -On Windows this means that WSL must be enabled, -and the host must have a 'BOINC WSL distro' installed from the Windows Store. +Docker app jobs are sent only to BOINC 9.0+ clients that have Docker. +On Windows this requires that + +* WSL is enabled +* The host has the 'BOINC WSL distro' installed from the Windows Store +(or has another WSL distro with either Docker or Podman installed). Both variants are going to use the same "science executable" - an x64/Intel program that runs inside a Docker container. @@ -179,12 +182,12 @@ bin/update_version --noconfirm Edit your project's `config.xml` and add the following to the `` section: ``` - - script_validator --app worker --init_script "validate_init.py" --compare_script "validate_compare.py" - - - script_assimilator -d 3 --app worker --script "sample_assimilate.py wu_name batch_id files" - + + script_validator --app worker --init_script "validate_init.py" --compare_script "validate_compare.py" + + + script_assimilator -d 3 --app worker --script "sample_assimilate.py wu_name batch_id files" + ``` ## Test @@ -228,12 +231,12 @@ and display its output file. Edit your project's `config.xml` and add the following to the `` section: ``` - - script_validator --app buda --init_script "validate_init.py" --compare_script "validate_compare.py" - - - script_assimilator -d 3 --app buda --script "sample_assimilate.py wu_name batch_id files" - + + script_validator --app buda --init_script "validate_init.py" --compare_script "validate_compare.py" + + + script_assimilator -d 3 --app buda --script "sample_assimilate.py wu_name batch_id files" + ``` ## Create an app version for Windows @@ -264,8 +267,11 @@ bin/update_verions --noconfirm ## Create a BUDA directory -Create a director `buda_dir` in the project and copy -files to it: +'BUDA' stands for BOINC Universal Docker App. +A "BUDA directory" contains the files +for a particular science app + +Create a director `buda_dir` in the project and copy files to it: ``` buda_dir/ Dockerfile_worker_1