buildall.sh 799 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/bash
  2. read -r -d '' START << EOM
  3. FROM debian:latest
  4. RUN apt update -y
  5. EOM
  6. read -r -d '' END << EOM
  7. RUN apt-get clean autoclean
  8. RUN apt-get autoremove --yes
  9. RUN rm -rf /var/lib/{apt,dpkg,cache,log}/
  10. RUN useradd -m user
  11. USER user
  12. WORKDIR /home/user
  13. EOM
  14. cd langs
  15. for dir in */
  16. do
  17. dir="${dir%*/}"
  18. if podman image exists "$dir-runner"; then
  19. continue
  20. fi
  21. if [ -f "$dir/Dockerfile.user" ]; then
  22. template_user="$(cat $dir/Dockerfile.user)"
  23. else
  24. template_user=""
  25. fi
  26. template="$(cat $dir/Dockerfile)"
  27. echo "$START
  28. $template
  29. COPY $dir/run.sh /usr/bin/run
  30. RUN chmod +x /usr/bin/run
  31. RUN chmod 705 /usr/bin/run
  32. $END
  33. $template_user
  34. ENTRYPOINT [\"/usr/bin/run\"]" > Dockerfile
  35. podman build -t "$dir-runner" .
  36. rm Dockerfile
  37. done
  38. cd ..