You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/tutorials/development_containers1/index.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -58,15 +58,15 @@ or store and publish a whole image right away.
58
58
In this notebook, you will find **installation instructions**, <ahref="#sec-commands"class="quarto-xref"><b>useful commands</b></a>, references, and a loose assembly of general and almost philosophical topics to prime you on the **complications and misconceptions** surrounding containerization.
59
59
60
60
There are numerous useful build instructions and container images already out there, which you can **simply `pull` and `run`**.
61
-
This is an easy, entry level application of container software like Docker, [covered in an introductory tutorial](../../tutorials/development_containers_run).
61
+
This is an easy, entry level application of container software like Docker, [covered in an introductory tutorial](../../tutorials/development_containers2_run).
62
62
63
-
A second step is to set up and deploy a **self-`build` custom container** I demonstrate step-by-step [in a slightly more advanced tutorial](../../tutorials/development_containers_build).
63
+
A second step is to set up and deploy a **self-`build` custom container** I demonstrate step-by-step [in a slightly more advanced tutorial](../../tutorials/development_containers3_build).
64
64
This is intended to be a rather general test case, enabling you to later configure more specific container solutions for your own purpose.
65
65
For example, you will learn how to spin up an existing `rocker/rstudio` container, and even modify it with additional system components and libraries.
66
66
67
67
For relevant INBO-specific use cases, make sure to [check out the `containbo` repository](https://github.com/inbo/containbo) which documents **even more tipps and tricks** assembled during my humble (but mostly succesful) attempts to get INBO R packages to run in a container environment.
68
68
69
-
I also present **Podman** as a [full replacement for Docker](../../tutorials/development_containers_podman), and recommend to give it a try.
69
+
I also present **Podman** as a [full replacement for Docker](../../tutorials/development_containers4_podman), and recommend to give it a try.
70
70
71
71
On Windows, installation, configuration, and management of containers runs via the `docker desktop` app.
72
72
However, this series of tutorials also covers (and in fact focuses on) the terminal-centered steps to be executed on a Linux computer or within a WSL.
@@ -186,7 +186,7 @@ docker --version
186
186
187
187
Congratulations: now the fun starts!
188
188
189
-
With docker installed, the next step is to run a container image which someone else has prepared and hosted online, [which you can read about in the next tutorial](../../tutorials/development_containers_run).
189
+
With docker installed, the next step is to run a container image which someone else has prepared and hosted online, [which you can read about in the next tutorial](../../tutorials/development_containers2_run).
190
190
191
191
# The Holy Grail?
192
192
@@ -266,7 +266,7 @@ Historically, Docker could not run "rootless", i.e. without elevated privileges
266
266
[This seems to have changed](https://docs.docker.com/engine/security/rootless), according to Docker.
267
267
Some caution is still warranted: the setup procedure requires downloading and running shell scripts (which must be checked); the deamon still builds on `systemd` (*usually* root level); some functionality is limited.
268
268
269
-
On the other hand, there is Podman (cf. the [Podman tutorial](../../tutorials/development_containers_podman)).
269
+
On the other hand, there is Podman (cf. the [Podman tutorial](../../tutorials/development_containers4_podman)).
270
270
It *used to* require almost the same extra steps as the `docker-rootless` to work rootless, but we found that these requirements are now met per default.
271
271
It seems that, at the time of writing, Docker and Podman have identical capabilities in terms of rootless containerization.
272
272
The remaining difference is that Podman seems to have more sensible default settings.
@@ -345,10 +345,10 @@ There are convenient GUI apps, and sophisticated terminal commands, the latter a
345
345
This particular notebook assembled references, useful commands, information about the installation of Docker, and general considerations.
346
346
347
347
This is the central node of a series of tutorials; the others are:
Copy file name to clipboardExpand all lines: content/tutorials/development_containers1/index.qmd
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -59,18 +59,18 @@ In this notebook, you will find **installation instructions**, [**useful command
59
59
60
60
61
61
There are numerous useful build instructions and container images already out there, which you can **simply `pull` and `run`**.
62
-
This is an easy, entry level application of container software like Docker, [covered in an introductory tutorial](../../tutorials/development_containers_run).
62
+
This is an easy, entry level application of container software like Docker, [covered in an introductory tutorial](../../tutorials/development_containers2_run).
63
63
64
64
65
-
A second step is to set up and deploy a **self-`build` custom container** I demonstrate step-by-step [in a slightly more advanced tutorial](../../tutorials/development_containers_build).
65
+
A second step is to set up and deploy a **self-`build` custom container** I demonstrate step-by-step [in a slightly more advanced tutorial](../../tutorials/development_containers3_build).
66
66
This is intended to be a rather general test case, enabling you to later configure more specific container solutions for your own purpose.
67
67
For example, you will learn how to spin up an existing `rocker/rstudio` container, and even modify it with additional system components and libraries.
68
68
69
69
70
70
For relevant INBO-specific use cases, make sure to [check out the `containbo` repository](https://github.com/inbo/containbo) which documents **even more tipps and tricks** assembled during my humble (but mostly succesful) attempts to get INBO R packages to run in a container environment.
71
71
72
72
73
-
I also present **Podman** as a [full replacement for Docker](../../tutorials/development_containers_podman), and recommend to give it a try.
73
+
I also present **Podman** as a [full replacement for Docker](../../tutorials/development_containers4_podman), and recommend to give it a try.
74
74
75
75
76
76
On Windows, installation, configuration, and management of containers runs via the `docker desktop` app.
@@ -203,7 +203,7 @@ docker --version
203
203
Congratulations: now the fun starts!
204
204
205
205
206
-
With docker installed, the next step is to run a container image which someone else has prepared and hosted online, [which you can read about in the next tutorial](../../tutorials/development_containers_run).
206
+
With docker installed, the next step is to run a container image which someone else has prepared and hosted online, [which you can read about in the next tutorial](../../tutorials/development_containers2_run).
207
207
208
208
209
209
# The Holy Grail?
@@ -293,7 +293,7 @@ Historically, Docker could not run "rootless", i.e. without elevated privileges.
293
293
Some caution is still warranted: the setup procedure requires downloading and running shell scripts (which must be checked); the deamon still builds on `systemd` (*usually* root level); some functionality is limited.
294
294
295
295
296
-
On the other hand, there is Podman (cf. the [Podman tutorial](../../tutorials/development_containers_podman)).
296
+
On the other hand, there is Podman (cf. the [Podman tutorial](../../tutorials/development_containers4_podman)).
297
297
It *used to* require almost the same extra steps as the `docker-rootless` to work rootless, but we found that these requirements are now met per default.
298
298
It seems that, at the time of writing, Docker and Podman have identical capabilities in terms of rootless containerization.
299
299
The remaining difference is that Podman seems to have more sensible default settings.
@@ -381,10 +381,10 @@ There are convenient GUI apps, and sophisticated terminal commands, the latter a
381
381
This particular notebook assembled references, useful commands, information about the installation of Docker, and general considerations.
382
382
383
383
This is the central node of a series of tutorials; the others are:
Copy file name to clipboardExpand all lines: content/tutorials/development_containers2_run/index.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -41,10 +41,10 @@ The good news:
41
41
there are a gazillion **Docker images available** on repositories like [Docker Hub](https://hub.docker.com) or [Quay](https://quay.io).
42
42
43
43
This tutorial will show you how to use such "containers-to-go", thereby demonstrating some basic principles and vocabulary about containerization.
44
-
I assume that you have [installed docker](../../tutorials/development_containers#sec-installation).
44
+
I assume that you have [installed docker](../../tutorials/development_containers1#sec-installation).
45
45
This tutorial will stay on the more involved route of running Docker in the terminal (the Docker Desktop "app" is rather self-explanatory, and you can manoever it easily with knowledge of terminal vocabulary).
46
-
Once you master these first step, you can proceed to [customize your container images](../../tutorials/development_containers_build).
47
-
You might also [consider Podman as a Docker alternative](../../tutorials/development_containers_podman).
46
+
Once you master these first step, you can proceed to [customize your container images](../../tutorials/development_containers3_build).
47
+
You might also [consider Podman as a Docker alternative](../../tutorials/development_containers4_podman).
48
48
49
49
## Example
50
50
@@ -176,7 +176,7 @@ This basically enables two separate workflows, i.e. usage paradigms.
176
176
The first option, which is the default, is that your container is stored on the system permanently.
177
177
This counts for the upstream images, which are downloaded upon first invocation of a container.
178
178
But also, changes you apply while working in the container are persistently stored until you log in again, using hard drive space of the host.
179
-
Images may still be removed by manually running `docker rmi [...]` ([*cf.* "useful commands" in the overview tutorial](../../tutorials/development_containers#sec-commands)).
179
+
Images may still be removed by manually running `docker rmi [...]` ([*cf.* "useful commands" in the overview tutorial](../../tutorials/development_containers1#sec-commands)).
180
180
181
181
In contrast, with the second option, `docker run --rm [...]`, ad-hoc changes in the container are removed when the container is finished.
182
182
Unless, of course, you mount a local volume with `docker run --rm -v [...]` (<ahref="#sec-mounting"class="quarto-xref">Section 0.2</a>).
@@ -230,10 +230,10 @@ For example, a collection of images for specific analysis pipelines at INBO are
230
230
We consider these "stable" versions because they could be re-activated no matter what crazy future updates will shatter the R community, which enables us to return to all details of previous analyses.
231
231
232
232
This tutorial provided introductory details on how to run such images.
233
-
If you would like to take this further and customize your containers, proceed with [the next tutorial about the `build` command](../../tutorials/development_containers_build).
234
-
Those commands are practically identical [in Docker and Podman](../../tutorials/development_containers_podman).
233
+
If you would like to take this further and customize your containers, proceed with [the next tutorial about the `build` command](../../tutorials/development_containers3_build).
234
+
Those commands are practically identical [in Docker and Podman](../../tutorials/development_containers4_podman).
235
235
236
-
An overview on the topic is [available here](../../tutorials/development_containers).
236
+
An overview on the topic is [available here](../../tutorials/development_containers1).
237
237
238
238
[^1]: I mostly follow [this tutorial](https://jsta.github.io/r-docker-tutorial/02-Launching-Docker.html).
Copy file name to clipboardExpand all lines: content/tutorials/development_containers2_run/index.qmd
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -40,10 +40,10 @@ there are a gazillion **Docker images available** on repositories like [Docker H
40
40
41
41
42
42
This tutorial will show you how to use such "containers-to-go", thereby demonstrating some basic principles and vocabulary about containerization.
43
-
I assume that you have [installed docker](../tutorials/development_containers#sec-installation).
43
+
I assume that you have [installed docker](../tutorials/development_containers1#sec-installation).
44
44
This tutorial will stay on the more involved route of running Docker in the terminal (the Docker Desktop "app" is rather self-explanatory, and you can manoever it easily with knowledge of terminal vocabulary).
45
-
Once you master these first step, you can proceed to [customize your container images](../tutorials/development_containers_build).
46
-
You might also [consider Podman as a Docker alternative](../tutorials/development_containers_podman).
45
+
Once you master these first step, you can proceed to [customize your container images](../tutorials/development_containers3_build).
46
+
You might also [consider Podman as a Docker alternative](../tutorials/development_containers4_podman).
47
47
48
48
49
49
## Example
@@ -189,7 +189,7 @@ This basically enables two separate workflows, i.e. usage paradigms.
189
189
The first option, which is the default, is that your container is stored on the system permanently.
190
190
This counts for the upstream images, which are downloaded upon first invocation of a container.
191
191
But also, changes you apply while working in the container are persistently stored until you log in again, using hard drive space of the host.
192
-
Images may still be removed by manually running `docker rmi [...]` ([*cf.* "useful commands" in the overview tutorial](../../tutorials/development_containers#sec-commands)).
192
+
Images may still be removed by manually running `docker rmi [...]` ([*cf.* "useful commands" in the overview tutorial](../../tutorials/development_containers1#sec-commands)).
193
193
194
194
195
195
In contrast, with the second option, `docker run --rm [...]`, ad-hoc changes in the container are removed when the container is finished.
@@ -254,7 +254,7 @@ We consider these "stable" versions because they could be re-activated no matter
254
254
255
255
256
256
This tutorial provided introductory details on how to run such images.
257
-
If you would like to take this further and customize your containers, proceed with [the next tutorial about the `build` command](../tutorials/development_containers_build).
258
-
Those commands are practically identical [in Docker and Podman](../tutorials/development_containers_podman).
257
+
If you would like to take this further and customize your containers, proceed with [the next tutorial about the `build` command](../tutorials/development_containers3_build).
258
+
Those commands are practically identical [in Docker and Podman](../tutorials/development_containers4_podman).
259
259
260
-
An overview on the topic is [available here](../tutorials/development_containers).
260
+
An overview on the topic is [available here](../tutorials/development_containers1).
Copy file name to clipboardExpand all lines: content/tutorials/development_containers3_build/index.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -25,8 +25,8 @@ output:
25
25
---
26
26
27
27
28
-
By now, you [will have successfully installed](../../tutorials/development_containers#sec-installation) Docker or [Podman](../../tutorials/development_containers_podman).
29
-
You hopefully succeeded in [running others' containers](../../tutorials/development_containers_run), e.g. from a container repository.
28
+
By now, you [will have successfully installed](../../tutorials/development_containers1#sec-installation) Docker or [Podman](../../tutorials/development_containers4_podman).
29
+
You hopefully succeeded in [running others' containers](../../tutorials/development_containers2_run), e.g. from a container repository.
30
30
31
31
Next, it is time to customize your container.
32
32
@@ -278,10 +278,10 @@ When designing and building Dockerfiles, you effectively craft your own DIY Matr
278
278
This may involve tinkering, some sawdust will fall off on the sides, but often the end product is quite presentable.
279
279
280
280
And that is one of the main purposes of a custom docker image: you can store a given set of interrelated software building blocks for later use (reproducibility).
281
-
Some of these sets are rather rough, abstract, or general (like the images you get on image repositories, which you can [simply pull and run](../../tutorials/development_containers_run)).
281
+
Some of these sets are rather rough, abstract, or general (like the images you get on image repositories, which you can [simply pull and run](../../tutorials/development_containers2_run)).
282
282
Others are bespoke, containing exact requirements for a given task.
283
-
Both functions are important building blocks of open science, and I elaborate more about this framework [in the main article on containerization](../../tutorials/development_containers).
284
-
Docker is a specific implementation of the container concept, and you might also want to [try out Podman](../../tutorials/development_containers_podman) as an alternative.
283
+
Both functions are important building blocks of open science, and I elaborate more about this framework [in the main article on containerization](../../tutorials/development_containers1).
284
+
Docker is a specific implementation of the container concept, and you might also want to [try out Podman](../../tutorials/development_containers4_podman) as an alternative.
285
285
286
286
Good luck with all your DIY projects, and thank you for reading!
0 commit comments