A Custom Container Built On Top of Bioconductor's devel_core2 Container
1.3K
The wallabe-devel Docker container is a custom container built on top of
the waldronlab/bioconductor:devel container. It differs in two principle
ways: 1) the /usr/local/lib/R/site-library directory is writeable to all users
and 2) host user directories are mounted into the container with the correct
permissions and ownership (provided the invocation below is followed).
The first item above is achieved through revisions to the s6 overlay
/etc/fix-attrs.d/00-runscripts ownership and permissions script. The second
item above is achieved by invoking the container with a bash script as follows
and then correcting ownership and permissions with another s6 overlay script at
/etc/cont-init.d/userconf during the init process. It is necessary to change
the user directory ownership and permissions during the init process, rather
than in the /etc/fix-attrs.d/00-runscripts script, because user directories
are not mounted (and their structure cannot be assumed prior to) the starting to
the container.
#!/bin/bash
wallabe_volumes="-v /etc/passwd:/etc/passwd:ro\
-v /etc/group:/etc/group:ro\
-v /etc/shadow:/etc/shadow:ro\
-v /etc/pam.d/login:/etc/pam.d/login:ro\
-v /data:/data"
directories="Desktop Documents Downloads .gitconfig .github Music Pictures\
Public Videos"
for i in $(ls /home/); do
if [[ $(stat -c "%u" /home/${i}/) < 1001 ]]; then
continue;
fi
if [[ $(stat -c "%U" /home/${i}/) == "UNKNOWN" ]]; then
continue;
fi
for j in $directories; do
wallabe_volumes+=" -v /home/${i}/${j}:/home/${i}/${j}"
done
done
docker pull waldronlab/wallabe-devel
docker stop wallabe-devel
docker rm wallabe-devel
docker run -d --name wallabe-devel --restart unless-stopped -p 8000:8787 \
$wallabe_volumes waldronlab/wallabe-devel
Complete information about the just containers s6 overlay is available here. Or a really deep dive is available here.
Content type
Image
Digest
Size
2.1 GB
Last updated
almost 6 years ago
docker pull waldronlab/wallabe-devel