Skip to content

Commit 9d64fa8

Browse files
committed
smooth edges after breaking the monolithic document
Mostly fixing the heading levels, but some transition text was edited.
1 parent 1cb3a83 commit 9d64fa8

File tree

8 files changed

+26
-29
lines changed

8 files changed

+26
-29
lines changed

00-installation/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Install
1+
# Installing Singularity
22
Here we will install the latest tagged release from [GitHub](https://github.com/singularityware/singularity). If you prefer to install a different version or to install Singularity in a different location, see these [Singularity docs](http://singularity.lbl.gov/docs-installation).
33

44
We're going to compile Singularity from source code. First we'll need to make sure we have some development tools installed so that we can do that. On Ubuntu, run these commands to make sure you have all the necessary packages installed.
@@ -49,7 +49,11 @@ $ . etc/bash_completion.d/singularity
4949
$ sudo cp etc/bash_completion.d/singularity /etc/bash_completion.d/
5050
```
5151

52-
If everything went according to plan, you now have a working installation of Singularity. You can test your installation like so:
52+
If everything went according to plan, you now have a working installation of Singularity.
53+
Simply typing `singularity` will give you a summary of all the commands you can use.
54+
Typing `singularity help <command>` will give you more detailed information about running an individual command.
55+
56+
You can test your installation like so:
5357

5458
```
5559
$ singularity run docker://godlovedc/lolcow
@@ -75,4 +79,5 @@ Creating container runtime...
7579

7680
Your cow will likely say something different (and be more colorful), but as long as you see a cow your installation is working properly.
7781

78-
This command downloads and runs a container from [Docker Hub](https://hub.docker.com/r/godlovedc/lolcow/). During the next hour we will learn how to build a similar container from scratch.
82+
This command downloads, converts, and runs a container from [Docker Hub](https://hub.docker.com/r/godlovedc/lolcow/).
83+
In the next exercise, we will learn how to build a similar container from scratch.

01-building/README.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
## Hour 2 (Building and Running Containers)
2-
3-
In the second hour we will build the preceding container from scratch.
4-
5-
Simply typing `singularity` will give you an summary of all the commands you can use. Typing `singularity help <command>` will give you more detailed information about running an individual command.
6-
7-
### Building a basic container
1+
# Building a basic container
82

3+
In this exercise, we will build a container from scratch similar to the one we used to test the installation.
94
To build a singularity container, you must use the `build` command. The `build` command installs an OS, sets up your container's environment and installs the apps you need. To use the `build` command, we need a **recipe file** (also called a definition file). A Singularity recipe file is a set of instructions telling Singularity what software to install in the container.
105

116
The Singularity source code contains several example definition files in the `/examples` subdirectory. Let's copy the ubuntu example to our home directory and inspect it.
@@ -57,7 +52,7 @@ But if you want to shell into a container and tinker with it (like we will do he
5752

5853
When your build finishes, you will have a basic Ubuntu container saved in a local directory called `lolcow`.
5954

60-
### Using `shell` to explore and modify containers
55+
# Using `shell` to explore and modify containers
6156

6257
Now let's enter our new container and look around.
6358

02-io/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Blurring the line between the container and the host system.
1+
# Blurring the line between the container and the host system
22

33
Singularity does not try to isolate your container completely from the host system. This allows you to do some interesting things.
44

03-runscript/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
## Hour 3 (advanced Singularity usage)
1+
# The Runscript: Making containerized apps behave more like normal apps
22

3-
### The Runscript: Making containerized apps behave more like normal apps
4-
5-
In the third hour we are going to consider an extended example describing a containerized application that takes a file as input, analyzes the data in the file, and produces another file as output. This is obviously a very common situation.
3+
We are now going to consider an extended example describing a containerized application that takes a file as input, analyzes the data in the file, and produces another file as output.
4+
This is obviously a very common situation.
65

76
Let's imagine that we want to use the cowsay program in our `lolcow.simg` to "analyze data". We should give our container an input file, it should reformat it (in the form of a cow speaking), and it should dump the output into another file.
87

04-bind-mounts/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Bind mounting host system directories into a container
1+
# Bind mounting host system directories into a container
22

33
It's possible to create and modify files on the host system from within the container. In fact, that's exactly what we did in the previous example when we created output files in our home directory.
44

05-the-hubs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Singularity Hub and Docker Hub
1+
# Singularity Hub and Docker Hub
22

33
We've spent a lot of time on building and using your own containers so that you understand how Singularity works. But there's an easier way! [Docker Hub](https://hub.docker.com/)
44
hosts over 100,000 pre-built, ready-to-use containers. And singularity makes it easy to use them.

06-misc/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
## Miscellaneous Topics
1+
# Miscellaneous Topics
22

3-
### X11 and OpenGL
3+
## X11 and OpenGL
44

55
You can use Singularity containers to display graphics through common protocols. To do this, you need to install the proper graphics stack within the Singularity container. For instance if you want to display X11 graphics you must install `xorg` within your container. In an Ubuntu container the command would look like this.
66

77
```
88
$ apt-get install xorg
99
```
1010

11-
### GPU computing
11+
## GPU computing
1212

1313
In Singularity v2.3+ the experimental `--nv` option will look for NVIDIA libraries on the host system and automatically bind mount them to the container so that GPUs work seamlessly.
1414

15-
### Using the network on the host system
15+
## Using the network on the host system
1616

1717
Network ports on the host system are accessible from within the container and work seamlessly. For example, you could install ipython within a container, start a jupyter notebook instance, and then connect to that instance using a browser running outside of the container on the host system or from another host.
1818

19-
### a note on SUID programs and daemons
19+
## a note on SUID programs and daemons
2020

2121
Some programs need root privileges to run. These often include services or daemons that start via the `init.d` or `system.d` systems and run in the background. For instance, `sshd` the ssh daemon that listens on port 22 and allows another user to connect to your computer requires root privileges. You will not be able to run it in a container unless you start the container as root.
2222

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ This is an introductory workshop on Singularity. It was originally taught by Dav
1111
- [Singularity Hub](https://singularity-hub.org/)
1212
- [Docker Hub](https://hub.docker.com/)
1313

14-
## Hour 1 (Introduction and Installation)
15-
16-
### What IS a software container anyway? (And what's it good for?)
14+
## What IS a software container anyway? (And what's it good for?)
1715

1816
A container allows you to stick an application and all of its dependencies into a single package. This makes your application portable, shareable, and reproducible.
1917

@@ -28,7 +26,7 @@ Here are some examples of things you can do with containers:
2826
- Install and run an application that requires a complicated stack of dependencies with a few keystrokes.
2927
- Create a pipeline or complex workflow where each individual program is meant to run on a different operating system.
3028

31-
### How do containers differ from virtual machines (VMs)
29+
## How do containers differ from virtual machines (VMs)
3230

3331
Containers and VMs are both types of virtualization. But it's important to understand the differences between the two and know when to use each.
3432

@@ -46,7 +44,7 @@ Because of their differences, VMs and containers serve different purposes and sh
4644
- VMs are good for long running interactive sessions where you may want to use several different applications. (Checking email on Outlook and using Microsoft Word and Excel).
4745
- Containers are better suited to running one or two applications non-interactively in their own custom environments.
4846

49-
### Docker
47+
## Docker
5048

5149
[Docker](https://www.docker.com/) is currently the most widely used container software. It has several strengths and weaknesses that make it a good choice for some projects but not for others.
5250

@@ -77,7 +75,7 @@ See https://docs.docker.com/engine/security/security/#docker-daemon-attack-surfa
7775

7876
Docker shines for DevOPs teams providing cloud-hosted micro-services to users.
7977

80-
### Singularity
78+
## Singularity
8179

8280
[Singularity](http://singularity.lbl.gov/) is a relatively new container software originally developed by Greg Kurtzer while at Lawrence Berkley National labs. It was developed with security, scientific software, and HPC systems in mind.
8381

0 commit comments

Comments
 (0)