docker/jupyter/build/build.fish

76 lines
1.5 KiB
Fish
Executable File

#!/usr/bin/fish
set img_idx 0
set is_quiet true
set root_dir "."
function build_image
# First argument: remove parent image?
# true or false, optional, default is false
# Second argument: file name to build
# Parse arguments
if test (count $argv) -eq 2
set remove_previous $argv[1]
set build_file $argv[2]
else if test (count $argv) -eq 1
set remove_previous false
set build_file $argv[1]
end
printf "Building $build_file...\n"
docker build $root_dir \
--quiet=$is_quiet \
--build-arg BASE_CONTAINER=betalupi/jupyter-inter-$img_idx \
-f $build_file.Dockerfile \
-t betalupi/jupyter-inter-(math $img_idx + 1)
date "+Finished at %Y-%m-%d %T"
if $remove_previous
printf "Done, cleaning up.\n\n"
sleep 1
docker image rm betalupi/jupyter-inter-$img_idx
else
printf "Done. \n\n"
end
set img_idx (math $img_idx + 1)
end
date "+Build started at %Y-%m-%d %T"
echo ""
# Base image must be built first
printf "Building base image...\n"
docker build \
--quiet=$is_quiet \
--build-arg PYTHON_VERSION=3.10 \
-t betalupi/jupyter-inter-0 \
$root_dir/base
printf "Done. \n\n"
build_image octave
build_image r
build_image julia
#build_image sage (BROKEN)
build_image plugins
build_image pymodules
# Manim will not install under python 3.10.
# 3.9 works (see arguments for base above)
#build_image manim
# Rename final image
docker image tag betalupi/jupyter-inter-(math $img_idx) git.betalupi.com/mark/jupyter
docker image rm betalupi/jupyter-inter-(math $img_idx)
echo ""
date "+Build finished at %Y-%m-%d %T"