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.
- ants-Linux-centos6_x86_64-v2.3.4.tar.gz
- ants-Linux-centos6_x86_64-v2.3.2.tar.gz
- Actually from commit 3d416475b296321dfe5e6cf905e05f197f4afb52 (bugfix in
antsRegistration
).
- Actually from commit 3d416475b296321dfe5e6cf905e05f197f4afb52 (bugfix in
- ants-Linux-centos6_x86_64-v2.3.1.tar.gz
- ants-Linux-centos6_x86_64-v2.3.0.tar.gz
- ants-Linux-centos6_x86_64-v2.2.0.tar.gz
- ants-Linux-centos6_x86_64-v2.1.0.tar.gz
Compiled on CentOS 6.10 Docker image, with the following:
- glibc 2.12
- gcc/g++ 4.9.1
- make 3.81
- cmake 3.12.2
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.