-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
Showing
1 changed file
with
158 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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) | ||
|
||
<a name="quickstart"></a> | ||
|
@@ -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). | ||
|
||
<a name="deprecation"></a> | ||
## 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. | ||
|
||
<a name="legacy"></a> | ||
### 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: [email protected] | ||
|
||
* [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: [email protected], 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: [email protected] | ||
|
||
* [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: [email protected] | ||
|
||
* [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 | ||
|
||
<a name="reason"></a> | ||
### 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. | ||
|
||
<a name="issues"></a> | ||
### 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:[email protected]) 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. | ||
|
||
<a name="usage"></a> | ||
## Using the containers | ||
|
||
|
@@ -350,6 +260,68 @@ package would be available for use. | |
-p 8787:8787 \ | ||
bioconductor/bioconductor_docker:devel | ||
|
||
<a name="dockercompose"></a> | ||
|
||
### 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/<bioconductor_version>`, 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/). | ||
|
||
<p class="back_to_top">[ <a href="#top">Back to top</a> ]</p> | ||
|
||
<a name="modify"></a> | ||
|
@@ -738,6 +710,97 @@ community members can contribute images | |
|
||
link: https://github.com/Bioconductor/bioconductor_docker/blob/master/best_practices.md | ||
|
||
<a name="acknowledgements"></a> | ||
## 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. | ||
|
||
<a name="legacy"></a> | ||
### 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: [email protected] | ||
|
||
* [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: [email protected], 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: [email protected] | ||
|
||
* [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: [email protected] | ||
|
||
* [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 | ||
|
||
<a name="reason"></a> | ||
### 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. | ||
|
||
<a name="issues"></a> | ||
### 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:[email protected]) 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. | ||
|
||
<a name="acknowledgements"></a> | ||
## Acknowledgements | ||
|
||
|