Container for running SpOCK
217
Getting SpOCK working in a Docker image for a cross-platform reproducible environment.
The Spacecraft Orbital Computations Kit (SpOCK) is an open source tool for spacecraft mission analysis and simulation. SpOCK allows the simulation of spacecrafts' hardware, orbital and attitude dynamics, and the computations of mission events (ground station contacts, payload data-takes and eclipses). The ambition of the author is to develop an operational tool (mission analysis, flight dynamics and operations) which includes only few but accurate simulations features and which can be easily further developed and customized. For this reason the software is developed with a (hopefully) clear structure with elements which can be easily read and reproduced and without a graphical user interface. For detailed information about installation, configuration and use please read the user guide.
The image has been published on DockerHub for public use. This will save you the time of building the image from scratch everytime (see following section).
docker pull arnaudbecheler/spock-container:latest
To see what images are present locally, use the docker images command.
To launch an interactive terminal (option -it) of the newly created image, use the docker run command:
docker run -ti arnaudbecheler/spock-container /bin/bash
This will open a bash session in the /home/docker user folder.
All SpOCK binaries have been compiled and are present in the /home/docker/SpOCK/bin directory. You can test their invocation with e.g.:
./bin/OrbitPropagator input/SimulationParameters/simparam_sample.xml
To exit the container, simply use the exit command.
That is useful to test modifications of the Dockerfile, or visualize what is actually happening when the image is built. It is a bit longer (around 10mn) than pulling the pre-built image from DockerHub (1mn).
git clone Becheler/Dockerfile_for_SpOCK
cd Dockerfile_for_SpOCK
docker build -t spock-image .
docker images
For security reasons, Docker containers are not supported on Pleiades, but you can convert them to Singularity containers.
On a Pleiades front-end system (PFE), do the following to create a singularity image or a singularity sandbox:
pfe$ module load singularity
pfe% singularity pull lolcow.sif docker://godlovedc/lolcow
# or
pfe$ singularity build --sandbox lolcow docker://godlovedc/lolcow
Content type
Image
Digest
Size
714.6 MB
Last updated
over 4 years ago
docker pull arnaudbecheler/spock-container