Skip to content

Commit f9f6484

Browse files
committed
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.
1 parent 4cb97fa commit f9f6484

File tree

1 file changed

+158
-95
lines changed

1 file changed

+158
-95
lines changed

content/help/docker.md

Lines changed: 158 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,20 @@ or [Microsoft Azure Container Instances](https://azure.microsoft.com/en-us/servi
1717
- [Why Use Containers](#intro)
1818
* [Goals for new containers](#goals)
1919
- [Current Containers](#current)
20-
- [Deprecation Notice](#deprecation)
21-
* [Legacy Containers](#legacy)
22-
* [Reason for deprecation](#reason)
23-
* [Reporting issues](#issues)
2420
- [Using Containers](#usage)
2521
* [Running Containers](#running)
2622
* [Mounting Additional Volume](#mounting)
23+
* [Using docker-compose](#dockercompose)
2724
- [Modifying Image Container](#modify)
2825
- [Singularity](#singularity)
2926
- [Microsoft Azure Container Instances](#msft)
3027
* [Using containers hosted on Microsoft Container Registry](#mcr)
3128
* [Use Azure Container Instances to run bioconductor images on-demand on Azure](#aci)
3229
- [How to contribute](#contribute)
30+
- [Deprecation Notice](#deprecation)
31+
* [Legacy Containers](#legacy)
32+
* [Reason for deprecation](#reason)
33+
* [Reporting issues](#issues)
3334
- [Acknowledgements](#acknowledgements)
3435

3536
<a name="quickstart"></a>
@@ -123,97 +124,6 @@ For each supported version of Bioconductor, we provide
123124
Bioconductor's Docker images are stored in [Docker Hub](https://hub.docker.com/u/bioconductor/);
124125
the source Dockerfile(s) are in [Github](https://github.com/Bioconductor/bioconductor_docker).
125126

126-
<a name="deprecation"></a>
127-
## Deprecation Notice
128-
129-
For previous users of docker containers for Bioconductor, please note
130-
that we are deprecating the following images. These images were
131-
maintained by Bioconductor Core, and also the community.
132-
133-
<a name="legacy"></a>
134-
### Legacy Containers
135-
136-
These images are NO LONGER MAINTAINED and updated. They will however
137-
be available to use should a user choose. They are not
138-
supported anymore by the Bioconductor Core team.
139-
140-
Bioconductor Core Team: [email protected]
141-
142-
* [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/)
143-
* [bioconductor/devel_core2](https://hub.docker.com/r/bioconductor/devel_core2/)
144-
* [bioconductor/release_base2](https://hub.docker.com/r/bioconductor/release_base2/)
145-
* [bioconductor/release_core2](https://hub.docker.com/r/bioconductor/release_core2/)
146-
147-
Steffen Neumann: [email protected], Maintained as part of the "PhenoMeNal, funded by Horizon2020 grant 654241"
148-
149-
* [bioconductor/devel_protmetcore2](https://hub.docker.com/r/bioconductor/devel_protmetcore2/)
150-
* [bioconductor/devel_metabolomics2](https://hub.docker.com/r/bioconductor/devel_metabolomics2/)
151-
* [bioconductor/release_protmetcore2](https://hub.docker.com/r/bioconductor/release_protmetcore2/)
152-
* [bioconductor/release_metabolomics2](https://hub.docker.com/r/bioconductor/release_metabolomics2/)
153-
154-
Laurent Gatto: [email protected]
155-
156-
* [bioconductor/devel_mscore2](https://hub.docker.com/r/bioconductor/devel_mscore2/)
157-
* [bioconductor/devel_protcore2](https://hub.docker.com/r/bioconductor/devel_protcore2/)
158-
* [bioconductor/devel_proteomics2](https://hub.docker.com/r/bioconductor/devel_proteomics2/)
159-
* [bioconductor/release_mscore2](https://hub.docker.com/r/bioconductor/release_mscore2/)
160-
* [bioconductor/release_protcore2](https://hub.docker.com/r/bioconductor/release_protcore2/)
161-
* [bioconductor/release_proteomics2](https://hub.docker.com/r/bioconductor/release_proteomics2/)
162-
163-
164-
165-
* [bioconductor/devel_cytometry2](https://hub.docker.com/r/bioconductor/devel_cytometry2/)
166-
* [bioconductor/release_cytometry2](https://hub.docker.com/r/bioconductor/release_cytometry2/)
167-
168-
First iteration containers
169-
170-
* bioconductor/devel_base
171-
* bioconductor/devel_core
172-
* bioconductor/devel_flow
173-
* bioconductor/devel_microarray
174-
* bioconductor/devel_proteomics
175-
* bioconductor/devel_sequencing
176-
* bioconductor/devel_metabolomics
177-
* bioconductor/release_base
178-
* bioconductor/release_core
179-
* bioconductor/release_flow
180-
* bioconductor/release_microarray
181-
* bioconductor/release_proteomics
182-
* bioconductor/release_sequencing
183-
* bioconductor/release_metabolomics
184-
185-
<a name="reason"></a>
186-
### Reason for deprecation
187-
188-
The new Bioconductor Docker image `bioconductor/bioconductor_docker`
189-
makes it possible to easily install any package the user chooses since
190-
all the system dependencies are built in to this new image. The
191-
previous images did not have all the system dependencies built in to
192-
the image. The new installation of packages can be done with,
193-
194-
BiocManager::install(c("package_name", "package_name"))
195-
196-
Other reasons for deprecation:
197-
198-
- the chain of inheritance of Docker images was too complex and hard
199-
to maintain.
200-
201-
- Hard to extend because there were multiple flavors of images.
202-
203-
- Naming convention was making things harder to use.
204-
205-
- Images which were not maintained were not deprecated.
206-
207-
<a name="issues"></a>
208-
### Reporting Issues
209-
210-
Please report issues with the new set of images on [GitHub Issues](https://github.com/Bioconductor/bioconductor_docker/issues) or
211-
the [Bioc-devel](mailto:[email protected]) mailing list.
212-
213-
These issues can be questions about anything related to this piece of
214-
software such as, usage, extending Docker images, enhancements, and
215-
bug reports.
216-
217127
<a name="usage"></a>
218128
## Using the containers
219129

@@ -350,6 +260,68 @@ package would be available for use.
350260
-p 8787:8787 \
351261
bioconductor/bioconductor_docker:devel
352262

263+
<a name="dockercompose"></a>
264+
265+
### Using docker-compose
266+
267+
To run the docker-compose file `docker-compose.yaml` from the same
268+
directory,
269+
270+
```
271+
docker-compose up
272+
```
273+
274+
Using `docker-compose`, the user can launch the image with a single
275+
command. The RStudio image is launched at `http://localhost:8787`.
276+
277+
The `docker-composer.yaml` includes settings so that the user doesn't
278+
have to worry about setting the port, password (default is `bioc`), or
279+
the volume to save libraries.
280+
281+
The library path, where all the packages are installed are
282+
automatically configured to use the volume
283+
`$HOME/R/bioconductor_docker/<bioconductor_version>`, in the case of
284+
the Bioconductor version 3.13, it would be
285+
`$HOME/R/bioconductor_docker/3.13`. This location is mounted on to the
286+
path, `/usr/local/lib/R/host-site-library`, which is the first value
287+
in your search path for packages if you check `.libPaths()`.
288+
289+
When the user starts the docker image using `docker-compose`, it will
290+
recognize previously mounted libraries with the apprpriate
291+
bioconductor version, and save users time reinstalling the previously
292+
installed packages.
293+
294+
To add another volume for data, it's possible to modify the
295+
`docker-compose.yml` to include another volume, so all the data is
296+
stored in the same location as well.
297+
298+
```
299+
volumes:
300+
- ${HOME}/R/bioconductor_docker/3.13:/usr/local/lib/R/host-site-library
301+
- ${HOME}/R/data:/home/rstudio
302+
```
303+
304+
305+
To run in the background, use the `-d` or `--detach` flag,
306+
307+
```
308+
docker-compose up -d
309+
```
310+
311+
If the image is run in a detached state, the `container-name` can be
312+
used to exec into the terminal if the user wishes `root` access in a
313+
terminal, without using RStudio.
314+
315+
Within the `root` user, additional system dependencies can be
316+
installed to make the image fit the needs of the user.
317+
318+
```
319+
docker exec -it bioc-3.13 bash
320+
```
321+
322+
For more information on how to use `docker-compose`, use the
323+
[official docker-compose reference](https://docs.docker.com/compose/reference/up/).
324+
353325
<p class="back_to_top">[ <a href="#top">Back to top</a> ]</p>
354326

355327
<a name="modify"></a>
@@ -738,6 +710,97 @@ community members can contribute images
738710

739711
link: https://github.com/Bioconductor/bioconductor_docker/blob/master/best_practices.md
740712

713+
<a name="acknowledgements"></a>
714+
## Deprecation Notice
715+
716+
For previous users of docker containers for Bioconductor, please note
717+
that we are deprecating the following images. These images were
718+
maintained by Bioconductor Core, and also the community.
719+
720+
<a name="legacy"></a>
721+
### Legacy Containers
722+
723+
These images are NO LONGER MAINTAINED and updated. They will however
724+
be available to use should a user choose. They are not
725+
supported anymore by the Bioconductor Core team.
726+
727+
Bioconductor Core Team: [email protected]
728+
729+
* [bioconductor/devel_base2](https://hub.docker.com/r/bioconductor/devel_base2/)
730+
* [bioconductor/devel_core2](https://hub.docker.com/r/bioconductor/devel_core2/)
731+
* [bioconductor/release_base2](https://hub.docker.com/r/bioconductor/release_base2/)
732+
* [bioconductor/release_core2](https://hub.docker.com/r/bioconductor/release_core2/)
733+
734+
Steffen Neumann: [email protected], Maintained as part of the "PhenoMeNal, funded by Horizon2020 grant 654241"
735+
736+
* [bioconductor/devel_protmetcore2](https://hub.docker.com/r/bioconductor/devel_protmetcore2/)
737+
* [bioconductor/devel_metabolomics2](https://hub.docker.com/r/bioconductor/devel_metabolomics2/)
738+
* [bioconductor/release_protmetcore2](https://hub.docker.com/r/bioconductor/release_protmetcore2/)
739+
* [bioconductor/release_metabolomics2](https://hub.docker.com/r/bioconductor/release_metabolomics2/)
740+
741+
Laurent Gatto: [email protected]
742+
743+
* [bioconductor/devel_mscore2](https://hub.docker.com/r/bioconductor/devel_mscore2/)
744+
* [bioconductor/devel_protcore2](https://hub.docker.com/r/bioconductor/devel_protcore2/)
745+
* [bioconductor/devel_proteomics2](https://hub.docker.com/r/bioconductor/devel_proteomics2/)
746+
* [bioconductor/release_mscore2](https://hub.docker.com/r/bioconductor/release_mscore2/)
747+
* [bioconductor/release_protcore2](https://hub.docker.com/r/bioconductor/release_protcore2/)
748+
* [bioconductor/release_proteomics2](https://hub.docker.com/r/bioconductor/release_proteomics2/)
749+
750+
751+
752+
* [bioconductor/devel_cytometry2](https://hub.docker.com/r/bioconductor/devel_cytometry2/)
753+
* [bioconductor/release_cytometry2](https://hub.docker.com/r/bioconductor/release_cytometry2/)
754+
755+
First iteration containers
756+
757+
* bioconductor/devel_base
758+
* bioconductor/devel_core
759+
* bioconductor/devel_flow
760+
* bioconductor/devel_microarray
761+
* bioconductor/devel_proteomics
762+
* bioconductor/devel_sequencing
763+
* bioconductor/devel_metabolomics
764+
* bioconductor/release_base
765+
* bioconductor/release_core
766+
* bioconductor/release_flow
767+
* bioconductor/release_microarray
768+
* bioconductor/release_proteomics
769+
* bioconductor/release_sequencing
770+
* bioconductor/release_metabolomics
771+
772+
<a name="reason"></a>
773+
### Reason for deprecation
774+
775+
The new Bioconductor Docker image `bioconductor/bioconductor_docker`
776+
makes it possible to easily install any package the user chooses since
777+
all the system dependencies are built in to this new image. The
778+
previous images did not have all the system dependencies built in to
779+
the image. The new installation of packages can be done with,
780+
781+
BiocManager::install(c("package_name", "package_name"))
782+
783+
Other reasons for deprecation:
784+
785+
- the chain of inheritance of Docker images was too complex and hard
786+
to maintain.
787+
788+
- Hard to extend because there were multiple flavors of images.
789+
790+
- Naming convention was making things harder to use.
791+
792+
- Images which were not maintained were not deprecated.
793+
794+
<a name="issues"></a>
795+
### Reporting Issues
796+
797+
Please report issues with the new set of images on [GitHub Issues](https://github.com/Bioconductor/bioconductor_docker/issues) or
798+
the [Bioc-devel](mailto:[email protected]) mailing list.
799+
800+
These issues can be questions about anything related to this piece of
801+
software such as, usage, extending Docker images, enhancements, and
802+
bug reports.
803+
741804
<a name="acknowledgements"></a>
742805
## Acknowledgements
743806

0 commit comments

Comments
 (0)