76 lines
1.5 KiB
Fish
Executable File
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"
|