From f9f6484bb4d8fee4dc629d23efefca4144b80d3f Mon Sep 17 00:00:00 2001 From: Nitesh Turaga Date: Thu, 15 Apr 2021 10:15:30 -0400 Subject: [PATCH] Add docker-compose documentation to Docker help. - The Deprecation notice has been moved to the bottom of the page as it's quite old now. - TODO: There should be a way to sync the README of the bioconductor_docker github page to the website. --- content/help/docker.md | 253 +++++++++++++++++++++++++---------------- 1 file changed, 158 insertions(+), 95 deletions(-) diff --git a/content/help/docker.md b/content/help/docker.md index 6a0bf5ffe..d1134e043 100644 --- a/content/help/docker.md +++ b/content/help/docker.md @@ -17,19 +17,20 @@ or [Microsoft Azure Container Instances](https://azure.microsoft.com/en-us/servi - [Why Use Containers](#intro) * [Goals for new containers](#goals) - [Current Containers](#current) -- [Deprecation Notice](#deprecation) - * [Legacy Containers](#legacy) - * [Reason for deprecation](#reason) - * [Reporting issues](#issues) - [Using Containers](#usage) * [Running Containers](#running) * [Mounting Additional Volume](#mounting) + * [Using docker-compose](#dockercompose) - [Modifying Image Container](#modify) - [Singularity](#singularity) - [Microsoft Azure Container Instances](#msft) * [Using containers hosted on Microsoft Container Registry](#mcr) * [Use Azure Container Instances to run bioconductor images on-demand on Azure](#aci) - [How to contribute](#contribute) +- [Deprecation Notice](#deprecation) + * [Legacy Containers](#legacy) + * [Reason for deprecation](#reason) + * [Reporting issues](#issues) - [Acknowledgements](#acknowledgements) @@ -123,97 +124,6 @@ For each supported version of Bioconductor, we provide Bioconductor's Docker images are stored in [Docker Hub](https://hub.docker.com/u/bioconductor/); the source Dockerfile(s) are in [Github](https://github.com/Bioconductor/bioconductor_docker). - -## Deprecation Notice - -For previous users of docker containers for Bioconductor, please note -that we are deprecating the following images. These images were -maintained by Bioconductor Core, and also the community. - - -### Legacy Containers - -These images are NO LONGER MAINTAINED and updated. They will however -be available to use should a user choose. They are not -supported anymore by the Bioconductor Core team. - -Bioconductor Core Team: bioc-issue-bot@bioconductor.org - -* [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/) -* [bioconductor/devel_core2](https://hub.docker.com/r/bioconductor/devel_core2/) -* [bioconductor/release_base2](https://hub.docker.com/r/bioconductor/release_base2/) -* [bioconductor/release_core2](https://hub.docker.com/r/bioconductor/release_core2/) - -Steffen Neumann: sneumann@ipb-halle.de, Maintained as part of the "PhenoMeNal, funded by Horizon2020 grant 654241" - -* [bioconductor/devel_protmetcore2](https://hub.docker.com/r/bioconductor/devel_protmetcore2/) -* [bioconductor/devel_metabolomics2](https://hub.docker.com/r/bioconductor/devel_metabolomics2/) -* [bioconductor/release_protmetcore2](https://hub.docker.com/r/bioconductor/release_protmetcore2/) -* [bioconductor/release_metabolomics2](https://hub.docker.com/r/bioconductor/release_metabolomics2/) - -Laurent Gatto: lg390@cam.ac.uk - -* [bioconductor/devel_mscore2](https://hub.docker.com/r/bioconductor/devel_mscore2/) -* [bioconductor/devel_protcore2](https://hub.docker.com/r/bioconductor/devel_protcore2/) -* [bioconductor/devel_proteomics2](https://hub.docker.com/r/bioconductor/devel_proteomics2/) -* [bioconductor/release_mscore2](https://hub.docker.com/r/bioconductor/release_mscore2/) -* [bioconductor/release_protcore2](https://hub.docker.com/r/bioconductor/release_protcore2/) -* [bioconductor/release_proteomics2](https://hub.docker.com/r/bioconductor/release_proteomics2/) - -RGLab: wjiang2@fredhutch.org - -* [bioconductor/devel_cytometry2](https://hub.docker.com/r/bioconductor/devel_cytometry2/) -* [bioconductor/release_cytometry2](https://hub.docker.com/r/bioconductor/release_cytometry2/) - -First iteration containers - -* bioconductor/devel_base -* bioconductor/devel_core -* bioconductor/devel_flow -* bioconductor/devel_microarray -* bioconductor/devel_proteomics -* bioconductor/devel_sequencing -* bioconductor/devel_metabolomics -* bioconductor/release_base -* bioconductor/release_core -* bioconductor/release_flow -* bioconductor/release_microarray -* bioconductor/release_proteomics -* bioconductor/release_sequencing -* bioconductor/release_metabolomics - - -### Reason for deprecation - -The new Bioconductor Docker image `bioconductor/bioconductor_docker` -makes it possible to easily install any package the user chooses since -all the system dependencies are built in to this new image. The -previous images did not have all the system dependencies built in to -the image. The new installation of packages can be done with, - - BiocManager::install(c("package_name", "package_name")) - -Other reasons for deprecation: - - - the chain of inheritance of Docker images was too complex and hard - to maintain. - - - Hard to extend because there were multiple flavors of images. - - - Naming convention was making things harder to use. - - - Images which were not maintained were not deprecated. - - -### Reporting Issues - -Please report issues with the new set of images on [GitHub Issues](https://github.com/Bioconductor/bioconductor_docker/issues) or -the [Bioc-devel](mailto:bioc-devel@r-project.org) mailing list. - -These issues can be questions about anything related to this piece of -software such as, usage, extending Docker images, enhancements, and -bug reports. - ## Using the containers @@ -350,6 +260,68 @@ package would be available for use. -p 8787:8787 \ bioconductor/bioconductor_docker:devel + + +### Using docker-compose + +To run the docker-compose file `docker-compose.yaml` from the same +directory, + +``` +docker-compose up +``` + +Using `docker-compose`, the user can launch the image with a single +command. The RStudio image is launched at `http://localhost:8787`. + +The `docker-composer.yaml` includes settings so that the user doesn't +have to worry about setting the port, password (default is `bioc`), or +the volume to save libraries. + +The library path, where all the packages are installed are +automatically configured to use the volume +`$HOME/R/bioconductor_docker/`, in the case of +the Bioconductor version 3.13, it would be +`$HOME/R/bioconductor_docker/3.13`. This location is mounted on to the +path, `/usr/local/lib/R/host-site-library`, which is the first value +in your search path for packages if you check `.libPaths()`. + +When the user starts the docker image using `docker-compose`, it will +recognize previously mounted libraries with the apprpriate +bioconductor version, and save users time reinstalling the previously +installed packages. + +To add another volume for data, it's possible to modify the +`docker-compose.yml` to include another volume, so all the data is +stored in the same location as well. + +``` +volumes: + - ${HOME}/R/bioconductor_docker/3.13:/usr/local/lib/R/host-site-library + - ${HOME}/R/data:/home/rstudio +``` + + +To run in the background, use the `-d` or `--detach` flag, + +``` +docker-compose up -d +``` + +If the image is run in a detached state, the `container-name` can be +used to exec into the terminal if the user wishes `root` access in a +terminal, without using RStudio. + +Within the `root` user, additional system dependencies can be +installed to make the image fit the needs of the user. + +``` +docker exec -it bioc-3.13 bash +``` + +For more information on how to use `docker-compose`, use the +[official docker-compose reference](https://docs.docker.com/compose/reference/up/). +

[ Back to top ]

@@ -738,6 +710,97 @@ community members can contribute images link: https://github.com/Bioconductor/bioconductor_docker/blob/master/best_practices.md + +## Deprecation Notice + +For previous users of docker containers for Bioconductor, please note +that we are deprecating the following images. These images were +maintained by Bioconductor Core, and also the community. + + +### Legacy Containers + +These images are NO LONGER MAINTAINED and updated. They will however +be available to use should a user choose. They are not +supported anymore by the Bioconductor Core team. + +Bioconductor Core Team: bioc-issue-bot@bioconductor.org + +* [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/) +* [bioconductor/devel_core2](https://hub.docker.com/r/bioconductor/devel_core2/) +* [bioconductor/release_base2](https://hub.docker.com/r/bioconductor/release_base2/) +* [bioconductor/release_core2](https://hub.docker.com/r/bioconductor/release_core2/) + +Steffen Neumann: sneumann@ipb-halle.de, Maintained as part of the "PhenoMeNal, funded by Horizon2020 grant 654241" + +* [bioconductor/devel_protmetcore2](https://hub.docker.com/r/bioconductor/devel_protmetcore2/) +* [bioconductor/devel_metabolomics2](https://hub.docker.com/r/bioconductor/devel_metabolomics2/) +* [bioconductor/release_protmetcore2](https://hub.docker.com/r/bioconductor/release_protmetcore2/) +* [bioconductor/release_metabolomics2](https://hub.docker.com/r/bioconductor/release_metabolomics2/) + +Laurent Gatto: lg390@cam.ac.uk + +* [bioconductor/devel_mscore2](https://hub.docker.com/r/bioconductor/devel_mscore2/) +* [bioconductor/devel_protcore2](https://hub.docker.com/r/bioconductor/devel_protcore2/) +* [bioconductor/devel_proteomics2](https://hub.docker.com/r/bioconductor/devel_proteomics2/) +* [bioconductor/release_mscore2](https://hub.docker.com/r/bioconductor/release_mscore2/) +* [bioconductor/release_protcore2](https://hub.docker.com/r/bioconductor/release_protcore2/) +* [bioconductor/release_proteomics2](https://hub.docker.com/r/bioconductor/release_proteomics2/) + +RGLab: wjiang2@fredhutch.org + +* [bioconductor/devel_cytometry2](https://hub.docker.com/r/bioconductor/devel_cytometry2/) +* [bioconductor/release_cytometry2](https://hub.docker.com/r/bioconductor/release_cytometry2/) + +First iteration containers + +* bioconductor/devel_base +* bioconductor/devel_core +* bioconductor/devel_flow +* bioconductor/devel_microarray +* bioconductor/devel_proteomics +* bioconductor/devel_sequencing +* bioconductor/devel_metabolomics +* bioconductor/release_base +* bioconductor/release_core +* bioconductor/release_flow +* bioconductor/release_microarray +* bioconductor/release_proteomics +* bioconductor/release_sequencing +* bioconductor/release_metabolomics + + +### Reason for deprecation + +The new Bioconductor Docker image `bioconductor/bioconductor_docker` +makes it possible to easily install any package the user chooses since +all the system dependencies are built in to this new image. The +previous images did not have all the system dependencies built in to +the image. The new installation of packages can be done with, + + BiocManager::install(c("package_name", "package_name")) + +Other reasons for deprecation: + + - the chain of inheritance of Docker images was too complex and hard + to maintain. + + - Hard to extend because there were multiple flavors of images. + + - Naming convention was making things harder to use. + + - Images which were not maintained were not deprecated. + + +### Reporting Issues + +Please report issues with the new set of images on [GitHub Issues](https://github.com/Bioconductor/bioconductor_docker/issues) or +the [Bioc-devel](mailto:bioc-devel@r-project.org) mailing list. + +These issues can be questions about anything related to this piece of +software such as, usage, extending Docker images, enhancements, and +bug reports. + ## Acknowledgements