A Custom Container Built On Top of Bioconductor's release_core2 Container
1.1K
The wallabe-release Docker container is a custom container built on top of
the waldronlab/bioconductor 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-release
docker stop wallabe-release
docker rm wallabe-release
docker run -d --name wallabe-release --restart unless-stopped -p 7000:8787 \
$wallabe_volumes waldronlab/wallabe-release
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-release