rundocker 769 B

12345678910111213141516171819202122
  1. #!/usr/bin/env bash
  2. set -eu
  3. cmd="${1:-start}"
  4. shift
  5. container_name=lkmc
  6. target_dir=/root/linux-kernel-module-cheat
  7. if [ "$cmd" = start ]; then
  8. sudo docker start -ai "$container_name"
  9. elif [ "$cmd" = sh ]; then
  10. # https://stackoverflow.com/questions/39794509/how-to-open-multiple-terminals-in-docker
  11. sudo docker exec -it "$container_name" bash "$@"
  12. elif [ "$cmd" = setup ]; then
  13. # --privileged for KVM:
  14. # https://stackoverflow.com/questions/48422001/launching-qemu-kvm-from-inside-docker-container
  15. sudo docker run --name "$container_name" --net host -i --privileged -t -w "${target_dir}" -v "$(pwd):${target_dir}" ubuntu:16.04 bash
  16. elif [ "$cmd" = DELETE ]; then
  17. sudo docker rm "$container_name"
  18. else
  19. echo "error: unknown action: ${cmd}" 1>&2
  20. exit 2
  21. fi