Building Docker images of various versions of ANTs from source. Images are hosted on https://hub.docker.com/r/kaczmarj/ants/.
This repository is used by kaczmarj/neurodocker.
Because the installation procedure is the same for most versions of ANTs, a single Dockerfile is used to build multiple versions of ANTs.
antsRegistration
).Compiled on CentOS 6.10 Docker image, with the following:
The following is the command used to build ANTs. Replace $ants_version
necessary.
ants_version=v2.2.0
docker build -t ants:$ants_version \
--build-arg ants_version=$ants_version - < Dockerfile \
| tee logs/ANTs-Linux-centos6_x86_64-v${ants_version}.log
The binaries can be pulled out of the Docker image by attaching a directory on the local machine to /tmp/ants
and moving the contents of /opt/ants
to /tmp/ants
:
$ docker run --rm -v /path/to/local/ants:/tmp/ants ants:2.2.0 mv /opt/ants /tmp/ants
The binaries can be compressed before extracting to the local machine:
docker run --rm -v /home/ants:/tmp/ants-tar kaczmarj/ants:2.2.0 \
/bin/tar czvf /tmp/ants-tar/ants.tar.gz -C /opt ants
If you cannot run the centos:6 Docker image, the problem could be due to a Linux kernel setting. On a Debian 10 machine, I need to make the following changes before being able to run the centos:6 image (and build the Dockerfile in this project).
sudo vim /etc/default/grub
# Add 'vsyscall=emulate' to `GRUB_CMDLINE_LINUX_DEFAULT` variable.
sudo update-grub
# Reboot
To undo the above changes, remove vsyscall=emulate
, run sudo update-grub
, and reboot.