Skip to content

Commit 49e573b

Browse files
committed
minor formatting and cleanup
1 parent ff630eb commit 49e573b

2 files changed

Lines changed: 14 additions & 12 deletions

File tree

_typos.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[default.extend-words]
22
# Scientific Software
33
namd = "namd"
4+
# Apptainer
5+
Apptainer = "Apptainer"
46

57
[default.extend-identifiers]
68
# Technical terms

docs/hpc/07_containers/01_intro.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
# Custom Applications with Containers
22

33
## What is Apptainer?
4-
Apptainer is a container based Linux kernel workspace that works just like Docker. You can run pre-built programs in containers without having to worry about the pre-install environment. You can even run Docker containers with Apptainer. Please see the [Apptainer and Docker](https://apptainer.org/docs/user/main/docker_and_oci.html) documentation by Syslabs for details about all the ways Apptainer supports Docker. For a detailed introduction on Apptainer, visit their [official site](https://apptainer.org/documentation/).
4+
Apptainer is a container based Linux kernel workspace that works just like Docker. You can run pre-built programs in containers without having to worry about the pre-install environment. You can even run Docker containers with Apptainer. Please see the [Apptainer and Docker](https://apptainer.org/docs/user/main/docker_and_oci.html) documentation by Syslabs for details about all the ways Apptainer supports Docker. For a detailed introduction on Apptainer, visit their [official site](https://apptainer.org/documentation/).
55

6-
Apptainer is the continuation of the Singularity project. When we transition to the new Torch cluster you will only see reference to Apptainer. The reason for this is that there were two container projects with the name Singularity. The original free and open-source (FOSS) project and a closed-source corporate fork. The FOSS version has renamed itself to Apptainer to avoid confusion and this is the version we use.
6+
Apptainer is the continuation of the Singularity project. When we transition to the new Torch cluster you will only see reference to Apptainer. The reason for this is that there were two container projects with the name Singularity. The original free and open-source (FOSS) project and a closed-source corporate fork. The FOSS version has renamed itself to Apptainer to avoid confusion and this is the version we use.
77

8-
## Why do we use Apptainer
8+
## Why Do We Use Apptainer
99
There are multiple reasons to use Apptainer on the HPC clusters:
1010
- **Security**: Apptainer provides a layer of security as it does not require any root access on our clusters. This makes it safer against malware and bad scripts that might jeopardize the outer system. Thus we only support Apptainer on our clusters (there are not other options such as Kubernetes or Docker on our clusters right now).
11-
- **Containerization**: Apptainer will run all your images (packaged and pre-built programs) inside of its containers, each container works like a small vm. They contain all the required environment and files of a single Linux kernel and you don't have to worry about any pre-installation issues.
11+
- **Containerization**: Apptainer will run all your images (packaged and prebuilt programs) inside of its containers, each container works like a small vm. They contain all the required environment and files of a single Linux kernel and you don't have to worry about any pre-installation issues.
1212
- **Inter-connectivity**: Containers are able to talk to each other, as well as the home system, so while each container has its own small space, they are still a part of a big interconnected structure. Thus enabling you to connect your programs.
1313
- **Accessibility**: Probably the most important feature of all, Apptainer allows you to run your program in 2 to 3 simple steps, as shown below.
1414

15-
## How to run an Apptainer container
15+
## How to Run an Apptainer Container
1616
There are 3 steps to run an Apptainer container on our clusters:
1717

1818
:::warning
1919
Running containers on login nodes is not encouraged, as processes may be terminated due to resource limits; please use compute nodes instead.
2020
:::
2121

22-
### 1. pull an image from Docker hub
22+
### 1. Pull an Image from Docker Hub
2323
```sh
2424
$ apptainer pull docker://godlovedc/lolcow
2525
# image name can be for example docker://godlovedc/lolcow
2626
```
2727

2828
![apptainer1](./static/apptainer1.png)
2929

30-
### 2. build the image (optional)
30+
### 2. Build the Image (Optional)
3131
```sh
3232
$ apptainer build <a name of your choosing>.sif <image name>
3333
# the image name can be a local image or an image from a hub
@@ -39,16 +39,16 @@ Building an image is optional for most use cases. In many cases, users can direc
3939

4040
You can now run your container using the built image.
4141

42-
### 3. run container
42+
### 3. Run Container
4343
```sh
4444
# this is one way of running a container
4545
$ apptainer run <image name>.sif
4646
# this is another way to run a container
4747
$ ./<image name>.sif
4848
```
4949

50-
:::warning
51-
Apptainer images are immutable by default and do not support write access. To modify files within a container, an overlay must be used.
50+
:::info
51+
Apptainer images are immutable by default. You can mount an writeable overlay file and edit files within the overlay.
5252
:::
5353

5454
running this would yield a menu for output:
@@ -75,7 +75,7 @@ $ apptainer exec <image name>.sif <commands>
7575
```
7676
:::
7777

78-
### Using fakeroot
78+
### Using `fakeroot`
7979

8080
In some cases, you may need elevated permissions inside the container to install software or modify system files. Apptainer provides a `--fakeroot` option that allows you to run commands inside the container with root-like privileges, without requiring actual root access on the system.
8181

@@ -92,7 +92,7 @@ So what if you want to create an image from your container and save it for a rai
9292

9393
Apptainer documentation has [instructions for building containers](https://apptainer.org/docs/user/latest/build_a_container.html) for your convenience. Please read through them to create your own Apptainer container and package it into an image!
9494

95-
Similarly, you can build docker containers using the information from [Docker's documentation](https://docs.docker.com/get-started/docker-concepts/building-images/). You can then upload them onto docker hub and pull them using Apptainer. Apptainer supports all docker images!
95+
Similarly, you can build docker containers using the information from [Docker's documentation](https://docs.docker.com/get-started/docker-concepts/building-images/). You can then upload them onto docker hub and pull them using Apptainer. Apptainer supports all Docker images!
9696

9797
## Apptainer vs Docker
9898
Why are there so many mentions of Docker? The reason is that Apptainer is essentially compatible with Docker and you don't need to relearn Apptainer if you already have experience with Docker. Now let's get into some pros and cons between the two programs.

0 commit comments

Comments
 (0)