{"id":16284429,"url":"https://github.com/nuest/docker-reproducible-research","last_synced_at":"2025-07-16T11:33:51.441Z","repository":{"id":146971184,"uuid":"88633674","full_name":"nuest/docker-reproducible-research","owner":"nuest","description":"A course on using Docker for reproducible research based on the AuthorCarpentry templage","archived":false,"fork":false,"pushed_at":"2017-08-17T10:07:10.000Z","size":161,"stargazers_count":3,"open_issues_count":9,"forks_count":6,"subscribers_count":6,"default_branch":"gh-pages","last_synced_at":"2025-04-09T00:05:01.190Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nuest.github.io/docker-reproducible-research/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.html","funding":null,"license":"LICENSE.html","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-18T14:19:31.000Z","updated_at":"2022-02-11T03:29:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"0eb71f19-5362-485f-9b27-7865668d23eb","html_url":"https://github.com/nuest/docker-reproducible-research","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nuest/docker-reproducible-research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Fdocker-reproducible-research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Fdocker-reproducible-research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Fdocker-reproducible-research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Fdocker-reproducible-research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuest","download_url":"https://codeload.github.com/nuest/docker-reproducible-research/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuest%2Fdocker-reproducible-research/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265506203,"owners_count":23778679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T19:19:31.432Z","updated_at":"2025-07-16T11:33:51.099Z","avatar_url":"https://github.com/nuest.png","language":"HTML","readme":"Author Carpentry : Docker for reproducible research\r\n=======\r\n\r\n\u003cdiv style=\"color: #ff1111;\"\u003e\r\n\u003cstrong\u003eThis course uses the Author Carpentry template but is not an Author Carpentry lesson yet!\u003c/strong\u003e Find out more on the progress of this project at \u003cstrong\u003e\u003ca href=\"https://github.com/AuthorCarpentry/planning/issues/3\"\u003ehttps://github.com/AuthorCarpentry/planning/issues/3\u003c/a\u003e\u003c/strong\u003e.\u003c/div\u003e\r\n\r\nReproducibility of computational results is crucial in modern algorithm-based research.\r\nIn this lesson, we introduce Docker as a useful tool to (a) document your computational environment, and (b) make a computational environment transferable across machines and thus archivable.\r\nThe intention of this course is to showcase Docker as a useful tool for scientists, even if they are _not_ regular users of the command line, which this course is completely based on.\r\n\r\n*Content Contributors: Daniel N\u0026uuml;st*\r\n\r\n*Lesson Maintainers: Daniel N\u0026uuml;st*\r\n\r\n**Lesson status: In Development**\r\n\r\n## Learning Objectives:\r\n\r\n- Docker basics (images, Dockerfiles, containers)\r\n- RStudio in a container\r\n- Jupyter Notebook in a container\r\n- Archival of software and runtime environments with Docker\r\n- Creating reproducible runtime environments from manifests\r\n\r\n## Topics:\r\n\r\n1. [Getting started with Docker](00-getting-started.html)\r\n2. [RStudio in a Docker container](01-rstudio-in-container.html)\r\n3. [Jupyter in a Docker container](02-jupyter-in-container.html)\r\n4. [Transfer and archive of containers](03-transfer-and-archive.html)\r\n4. [Create an image from a Dockerfile](06-dockerfile.html)\r\n\r\n### Optional\r\n\r\n- [Templates for reproducible research](05-templates.html)\r\n- [More geospatial tools in containers](04-geocontainers.html)\r\n\r\n\u003c!--\r\n## Data\r\n\r\nData files for the lesson are available here: \r\n--\u003e\r\n\r\n## Scope of this lesson\r\n\r\nThis lesson provides a rather _\"raw and manual\"_ approach to creating reproducible packages of data, code, and the required runtime environment.\r\nMaking this potentially tedious process more comfortable and ideally automatic for users is an active field of research, see for example the [Executable Research Compendium](http://dx.doi.org/10.1045/january2017-nuest) by the [o2r project](http://o2r.info), and tools such as [ReproZip](http://reprozip.org/).\r\nNaturally understanding in depth how reproducibility can be achieved provides a clear advantage over simply using a white box (the existing tools are all open, so there is no black box).\r\nTherefore this lesson's contents on concepts or containerization/virtualization and the leading open source tool are surely worth knowing, even when using supporting tools and services.\r\nThis also makes this topic suitable for a generic audience interested in Author Carpentry.\r\n\r\n## Requirements\r\n\r\nAuthor Carpentry's teaching is hands-on, so participants are encouraged to use their own computers to insure the proper setup of tools for an efficient workflow.\r\n*These lessons assume no prior knowledge of the skills or tools*, but working through this lesson requires working installations of the software described below.\r\nTo most effectively use these materials, please make sure to install everything *before* working through this lesson.\r\n\r\n- [Docker](https://www.docker.com/get-docker)\r\n- editor with highlighting for `Dockerfile`s, e.g. [vscode](https://code.visualstudio.com/) (_use this if you have no preference_), [Atom](https://atom.io/packages/language-docker) or [Sublime](https://packagecontrol.io/packages/Dockerfile%20Syntax%20Highlighting), or even [Vim](http://softwaretester.info/vim-syntax-highlighting-for-dockerfiles/)\r\n\u003c!-- - [Docker ID](https://hub.docker.com/register/) for an account on [Docker Hub](https://hub.docker.com/) --\u003e\r\n\u003c!-- - [GitHub account](https://github.com/join/) --\u003e\r\n\u003c!-- - [Zenodo account](https://zenodo.org/signup/) --\u003e\r\n\r\n## Optional requirements\r\n\r\nIn addition to the software, please bring a piece of your own research in one of the following formats (preferred formats first) _if you have one at hand_.\r\nThis could be your digital notebook, or a section of any analysis script you've been using for a published paper, for example.\r\nMake sure you can share these files with other course participants, i.e. also bring required data, remove information with privacy issues, and potentially make an excerpt of a longer script and make sure it still runs.\r\n\r\n- RMarkdown (`.Rmd`)\r\n- R script (`.R`)\r\n- Python script (`.py`)\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuest%2Fdocker-reproducible-research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuest%2Fdocker-reproducible-research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuest%2Fdocker-reproducible-research/lists"}