Dev image for DOE SIRIUS project, originally created by Ivo.
1.4K
// login to docker cloud account. (note: username is not your email)
docker login
// get the lastest image for SIRIUS development.
docker pull jlefevre/siriusdev:baseX
// MAC: below is the command for MAC using flag "consistency=delegated", which helps us build faster in the container since container files are eventually saved to host but not immediately consistent.
// LINUX, instead of the flag "consistency=delegated", use "bind-propagation=shared" (note this makes all files immediately consistent, so perhaps use a different propagation/consistency model (slave, rslave, etc. instead of shared) to speed up the build process which generates lots of small files inside the container. https://docs.docker.com/engine/admin/volumes/bind-mounts/#configure-bind-propagation
// adding the -d flag below starts the container disconnected (in background)
// adding the --rm flag below will remove the container upon exit (all changes lost).
docker run -it -d --name dev --mount type=bind,source=/Users/jp/Documents/SIRIUS/repos/adios2,destination=/src/adios2,consistency=delegated jlefevre/siriusdev:baseX
// attach to the running container.
docker attach dev
// check this directory is empty.
ls /src/adios2
// detach from the container
ctrl+p ctrl+q
// note the running containers names and ids:
docker ps -a
//stop the container using its name or id
docker stop dev
// remove that container, since it was just a test usage case.
docker rm dev
on host:
cd /usr/local/sirius/adios2
git clone https://github.com/jlefevre/ADIOS2.git source
docker run --name dev -it -v /usr/local/sirius/adios2:/src/adios2 jlefevre/siriusdev:base7
in container:
chmod a+rwx /src/adios2
rm -rf /usr/local/adios2/* . # clears out what was installed previously.
su sirius # pass:
cd /src/adios2
// Note you may need to chown -R sirius source/
rm -rf build;
mkdir build;
cd build;
HDF5_ROOT=/usr/local/hdf5/HDF_Group/HDF5/1.8.20; export HDF5_ROOT;
ADIOS1_ROOT=/usr/local/adios1; export ADIOS1_ROOT;
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/adios2 -DADIOS1_DIR=/usr/local/adios1/ -DADIOS1_USE_STATIC_LIBS=ON -DADIOS2_USE_ADIOS1=ON -DADIOS1_LIBRARY=/usr/local/adios1/lib/libadios.a -DADIOS1_LIBRARY_PATH=/usr/local/adios1/lib/libadios.a -DADIOS1_INCLUDE_DIR=/usr/local/adios1/include ../source
make -j8
ctest # NOTE this must be run as a non-root (sirius) user due to MPI warnings!
sudo make install . # installs into /usr/local/adios2
docker run --rm -ti --network=cephnet -v pwd/etc/ceph:/etc/ceph -v pwd/src/adios2:/src/adios2 sirius-dev
Content type
Image
Digest
Size
4.1 GB
Last updated
over 8 years ago
docker pull jlefevre/siriusdev