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: bibliography.bib
+1-26Lines changed: 1 addition & 26 deletions
Original file line number
Diff line number
Diff line change
@@ -309,7 +309,7 @@ @article{jupyter_binder_2018
309
309
doi = {10.25080/Majora-4af1f417-011},
310
310
urldate = {2018-08-21},
311
311
journal = {Proceedings of the 17th Python in Science Conference},
312
-
author = {Jupyter, Project and Bussonnier, Matthias and Forde, Jessica and Freeman, Jeremy and Granger, Brian and Head, Tim and Holdgraf, Chris and Kelley, Kyle and Nalvarte, Gladys and Osheroff, Andrew and Pacer, M. and Panda, Yuvi and Perez, Fernando and Ragan-Kelley, Benjamin and Willing, Carol},
312
+
author = {{Project Jupyter} and Bussonnier, Matthias and Forde, Jessica and Freeman, Jeremy and Granger, Brian and Head, Tim and Holdgraf, Chris and Kelley, Kyle and Nalvarte, Gladys and Osheroff, Andrew and Pacer, M. and Panda, Yuvi and Perez, Fernando and Ragan-Kelley, Benjamin and Willing, Carol},
Copy file name to clipboardExpand all lines: ten-simple-rules-dockerfiles.Rmd
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -152,7 +152,7 @@ Containers are distinct from virtual machines or hypervisors, as they do not emu
152
152
Several solutions for facilitating reproducible research are built on top of containers [@brinckman_computing_2018; @code_ocean_2019; @simko_reana_2019; @jupyter_binder_2018; @nust_opening_2017], but these solutions intentionally hide most of the complexity from the researcher.
153
153
154
154
To create Docker containers for specific workflows, we write text files that follow a particular format called `Dockerfile`[@docker_inc_dockerfile_2019].
155
-
A `Dockerfile` is a machine- and human-readable recipe, comparable to a `Makefile`[@wikipedia_contributors_make_2019], for building **images**.
155
+
A `Dockerfile` is a machine- **and** human-readable recipe, comparable to a `Makefile`[@wikipedia_contributors_make_2019], for building **images**.
156
156
Here, images are executable files that include the application, e.g., the programming language interpreter needed to run a workflow, and the system libraries required by an application to run.
157
157
Thus, a `Dockerfile` consists of a sequence of instructions to copy files and install software.
158
158
Each instruction adds a layer to the image, which can be cached across image builds for minimising build and download times.
@@ -432,7 +432,7 @@ For runtime environment variables, either to set a new variable or override one
432
432
433
433
\begin{minipage}{\linewidth}
434
434
435
-
\begin{lstlisting}[language=docker,caption={Partial \texttt{Dockerfile} showing usage of environment variables with the `ENV` instruction.},breaklines=true,label={lst:envvars}]
435
+
\begin{lstlisting}[language=docker,caption={Partial \texttt{Dockerfile} showing usage of environment variables with the \texttt{ENV} instruction.},breaklines=true,label={lst:envvars}]
436
436
...
437
437
438
438
# Define number of cores used by PowerfulAlgorithm
@@ -495,7 +495,7 @@ Here are some examples of terminal commands that will list the currently install
495
495
496
496
When you install several system libraries, it is good practice to add comments about why the dependencies are needed (see Listing \ref{lst:full}).
497
497
This way, if a piece of software is removed from the container, it will be easier to remove the system dependencies that are no longer needed, thereby reducing maintenance overhead: you will not unnecessarily fix problems with a library that is no longer needed or include long-running installations.
498
-
A test provided via a `HEALTHCHECK` @docker_healthcheck_2020, can further ensure proper functioning of your container.
498
+
A test provided via a [`HEALTHCHECK`](https://docs.docker.com/engine/reference/builder/#healthcheck), can further ensure proper functioning of your container.
499
499
500
500
## Version Control
501
501
@@ -605,7 +605,7 @@ When publishing your workspace, e.g., on Zenodo, having datasets outside of the
605
605
A mount can also be used to access **output data** from a container; this can be an extra mount or the same `data` directory.
606
606
Alternatively, you can use the [`docker cp`](https://docs.docker.com/engine/reference/commandline/cp/) command to access files from a running or stopped container, but this requires a specific handling, e.g., naming the container when starting it or using multiple shells, which requires very detailed instructions for users.
607
607
608
-
You can use the `-v`/`--volume` or preferably `--mount` flags to `docker run` to configure bind mounts of directories or files[@docker_use_2019], including options, as shown in the following examples.
608
+
You can use the `-v`/`--volume` or preferably `--mount` flags to `docker run` to configure bind mounts of directories or files, including options, as shown in the following examples.
609
609
If the target path exists within the image, the bind mount will replace it for the started container.
610
610
(Note, `$HOME` is an environment variable in UNIX systems representing the path to the current user's home directory, e.g., `/home/moby`, and `$(pwd)` returns the current path.)
0 commit comments