@@ -14,8 +14,8 @@ or services.
1414
1515Singularity compose uses Singularity on the backend, so anything that would require sudo (root)
1616permissions for Singularity is also required for Singularity compose. This includes most
17- networking commands (e.g., asking to allocate ports) and builds from recipe files.
18- However, if you are using Singularity v3.3 or higher, you can take advantage of
17+ networking commands (e.g., asking to allocate ports) and builds from recipe files.
18+ However, if you are using Singularity v3.3 or higher, you can take advantage of
1919[ fakeroot] ( https://sylabs.io/guides/3.3/user-guide/fakeroot.html ) to try and get around this.
2020The snippet below shows how to add fakeroot as an option under a build section:
2121
@@ -34,15 +34,15 @@ And a complete example is provided [here](https://github.com/singularityhub/sing
3434
3535### Dependencies
3636
37- Singularity Compose *must* use a version of [Singularity](https://sylabs.io/guides/latest/user-guide/)
37+ Singularity Compose *must* use a version of [Singularity](https://sylabs.io/guides/latest/user-guide/)
38383.2.1 or greater. It's recommended to use the latest (3.3.0 release at the time of this writing) otherwise there was
3939a bug with some versions of 3.2.1. Singularity 2.x absolutely will not work.
4040Python 3 is also required, as Python 2 is at end of life.
4141
4242### singularity-compose.yml
4343
4444For a singularity-compose project, it's expected to have a ` singularity-compose.yml`
45- in the present working directory. You can look at a simple example here, here is a
45+ in the present working directory. You can look at a simple example here, here is a
4646version 1.0 spec (before we added networking and exec options) :
4747
4848` ` ` yaml
@@ -60,7 +60,7 @@ instances:
6060 - 80:80
6161` ` `
6262
63- and [here](https://github.com/singularityhub/singularity-compose-examples/tree/4241ea8b4e068d93859acb7d2b924702815af0ce/v2.0/ping)
63+ and [here](https://github.com/singularityhub/singularity-compose-examples/tree/4241ea8b4e068d93859acb7d2b924702815af0ce/v2.0/ping)
6464is a version 2.0 spec that shows adding networking and exec options :
6565
6666` ` ` yaml
@@ -77,7 +77,7 @@ instances:
7777 options:
7878 - fakeroot
7979 exec:
80- options:
80+ options:
8181 - "env-file=myvars.env"
8282 command: printenv SUPERHERO
8383 alp2:
@@ -95,17 +95,17 @@ instances:
9595 - alp1
9696` ` `
9797
98- If you are familiar with [docker-compose](https://docs.docker.com/compose/)
99- the file should look very familiar. A key difference is that instead of
100- " services" we have "instances." And you guessed correctly - each
101- section there corresponds to a
98+ If you are familiar with [docker-compose](https://docs.docker.com/compose/)
99+ the file should look very familiar. A key difference is that instead of
100+ " services" we have "instances." And you guessed correctly - each
101+ section there corresponds to a
102102[Singularity instance](https://sylabs.io/guides/3.2/user-guide/running_services.html)
103103that will be created. In this guide, we will walk through each of the sections
104104in detail.
105105
106106# ## Instance folders
107107
108- Generally, each section in the yaml file corresponds with a container instance to be run,
108+ Generally, each section in the yaml file corresponds with a container instance to be run,
109109and each container instance is matched to a folder in the present working directory.
110110For example, if I give instruction to build an `nginx` instance from
111111a `nginx/Singularity.nginx` file, I should have the
@@ -155,15 +155,15 @@ This will pull a container `nginx.sif` into a `nginx` context folder:
155155```
156156
157157It's less likely that you will be able to pull a container that is ready to
158- go, as typically you will want to customize the
159- [ startscript] ( https://sylabs.io/guides/3.2/user-guide/definition_files.html#startscript )
158+ go, as typically you will want to customize the
159+ [ startscript] ( https://sylabs.io/guides/3.2/user-guide/definition_files.html#startscript )
160160for the instance. Now that we understand the basic organization, let's
161161bring up some instances.
162162
163163## Quick Start
164164
165- For this quick start, we are going to use the
166- [ singularity-compose-simple] ( https://www.github.com/singularityhub/singularity-compose-simple )
165+ For this quick start, we are going to use the
166+ [ singularity-compose-simple] ( https://www.github.com/singularityhub/singularity-compose-simple )
167167example. Singularity has a networking issue that currently doesn't allow communication
168168between multiple containers (due to iptables and firewall issues) so for now the most we
169169can do is show you one container. First, install singularity-compose from pip:
@@ -255,7 +255,7 @@ $ singularity-compose exec app uname -a
255255```
256256
257257When you open your browser to [ http://127.0.0.1 ] ( http://127.0.0.1 )
258- you should see the upload interface.
258+ you should see the upload interface.
259259
260260![ img/upload.png] ( img/upload.png )
261261
@@ -277,7 +277,7 @@ The images that you upload are stored in `images` at the root:
277277
278278``` bash
279279$ ls images/
280- 2018-02-20-172617.jpg 40-acos.png _upload
280+ 2018-02-20-172617.jpg 40-acos.png _upload
281281```
282282
283283And static files are in ` static ` .
@@ -349,7 +349,7 @@ $ singularity instance start \
349349
350350Control and customization of these instances is probably the coolest (and not widely
351351used) feature of Singularity. You can create your own network configurations,
352- and customie the arguments to the command. Read [ here] ( https://sylabs.io/guides/3.2/user-guide/running_services.html ) for more detalis.
352+ and customize the arguments to the command. Read [ here] ( https://sylabs.io/guides/3.2/user-guide/running_services.html ) for more detalis.
353353
354354## Commands
355355
@@ -360,7 +360,7 @@ Python API, see [here](/singularity-compose/api/).
360360
361361The [ specification] ( spec/ ) describes in more detail the sections of the singularity-compose.yml.
362362For example, in the quick start above, we have a post command for the app instance
363- that creates a series of folders on the host.
363+ that creates a series of folders on the host.
364364
365365## Examples
366366
0 commit comments