Welcome to the docker repository of the Evolutionary Ecology Group (EEG) - Zoology Department, Cambridge University.
This project creates a Ubuntu docker image and pushes it to docker.com.
The image is based on Ubuntu LTS and R
. In addition, several apt
and R
packages are pre-installed so to run continuous integration on EEG projects using CircleCI.
The docker is publicly available at: https://hub.docker.com/r/manicaeeg/eeg-docker.
The images are based on rstudio/r-docker based on Ubuntu 20.04 LTS with r version 4.2. In addition, several apt
and R
packages are pre-installed so to run continuous integration on EEG projects using CircleCI. The dockers are generated and updated via a publicly available GitHub repository: https://github.com/EvolEcolGroup/EEG_Docker
In order to run this container, you will need docker installed. Based on your OS, you can install it and read a quick guide on the docker.com website:
You can download latest
image with
docker pull manicaeeg/eeg-docker:latest
Image | Description | Size | Metrics | Build status |
---|---|---|---|---|
latest | Main docker |
Additional statistics on the images can be found on the Docker
You can download one of the following tagged images with
docker pull manicaeeg/eeg-docker:tag_name
Tag Name | Description | Ubuntu | R version | Size |
---|---|---|---|---|
latest | Main image | 20.04 | 4.2 | |
ubuntu20.04r4.2 | As latest |
20.04 | 4.2 |
In the latest
image, apt
and R
packages are automatically updated at the beginning of each month.
In addition to the packages found in the base rstudio/r-docker, the additional installed apt
and R
packages are listed in the Dockerfile.
Once you downloaded an image (e.g. docker pull manicaeeg/eeg-docker:latest
), you can use it locally on your shell.
For additional help, refer to the quick guide to the docker command markdown page.
At every commit a test "update_docker" is run, while another two tests are set on manual:
- manual_build_deploy_docker
- manual_test_image
Urls for those tests (on CircleCi) are not posted here since a new manual job will be created at each commit. Please, do not bookmark the manual jobs, otherwise you will re-run the older version of the repository.
If a new docker needs to be created, remember to change its name and tag in the Dockerfile
and config.yml
so to upload it to docker with a new name/tag.
Example: change Version of r from 3.6. to 4.0 and from Ubuntu 18.04 (bionic) to 20.04 (focal):
FROM rstudio/r-base:3.6-bionic
FROM rstudio/r-base:4.0-focal
For more information see the r-docker repo readme
If you implement other changes, you might want also to update the metatag on the version few lines below:
LABEL org.label-schema.schema-version="1.1" \
Example: change Version of r from 3.6. to 4.0 and from Ubuntu 18.04 (bionic) to 20.04 (focal).
Find the line where the IMAGE_TAG
is defined:
# Common environmental variables
env_vars: &env_vars
IMAGE_TAG: ubuntu18.04r3.6 # Docker version tag :$IMAGE_TAG
REPO_NAME: eeg-docker
and replace it with the new tag in the form of ubuntu
+ubuntu_version+r
+r_version. E.g.
IMAGE_TAG: ubuntu20.04r4.0 # Docker version tag :$IMAGE_TAG
Remember to comment the lines associating the latest
tag in the older version, while keeping it uncommented only in your latest release.
# Add here additional tags for the "latest" release
docker tag $DOCKER_USERNAME/$REPO_NAME:$IMAGE_TAG $DOCKER_USERNAME/$REPO_NAME:latest
docker push $DOCKER_USERNAME/$REPO_NAME:latest
Otherwise, if they are kept uncommented in the older one, and that repo gets rebuilt, it would overwrite (and push to docker.com) the actual latest image with the older one.
Lastly, remember to update this readme.md file to include the new tag in the tag-table. Information on the number of layers comes from Micro Badger that checks and updates periodically (i.e. not in real-time) the images. Therefore, do not worry if a no found
layer badge is displayed. You can manually check the number of layers in the Tags Page of the Docker/EEG-Docker website, by clicking on the tagged image you are interested in.
The first automatic update_docker
job on the continuous integration will fail because there is not yet an image to update.
Indeed, the first build of each new branch needs to be manually triggered with the manual_build_deploy_docker
job from CircleCi website. If there are no errors, the image is built and push and all the following commits should successfully trigger the update_docker
job.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
For the versions available, see the tags on this repository.
See also the list of contributors who participated in this project.
See the LICENSE file for details.
Part of this readme is based on Template-README-for-containers.md.