buildall.sh 650 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. template="$(cat $dir/Dockerfile)"
  22. echo "$START
  23. $template
  24. COPY $dir/run.sh /usr/bin/run
  25. RUN chmod +x /usr/bin/run
  26. RUN chmod 705 /usr/bin/run
  27. $END
  28. ENTRYPOINT [\"/usr/bin/run\"]" > Dockerfile
  29. podman build -t "$dir-runner" .
  30. rm Dockerfile
  31. done
  32. cd ..