You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.2 KiB

  1. #!/bin/bash
  2. path=${0::-3}
  3. if [[ $1 == "help" ]]; then
  4. echo "lc (Launch Container) help:
  5. ===========================
  6. - lc new <dockerfile> <container_name> <image_name>: create new image &
  7. container using the selected dockerfile
  8. - available dockerfiles: go, rust
  9. - lc stop <container_name>: stop container
  10. - lc rm <container_name>: remove container
  11. - lc ls: list containers
  12. - lc stop <container_name> <image_name>: stop container
  13. - lc <container_name>: launch container
  14. "
  15. exit 0
  16. elif [[ $1 == "new" ]]; then
  17. # $2: lang, $3: container_name, $4: image_name
  18. lang=$2
  19. if [[ $lang == "rust" ]]; then
  20. lang="$path/Dockerfile.rust"
  21. elif [[ $lang == "go" ]]; then
  22. lang="$path/Dockerfile.go"
  23. else
  24. echo "available dockerfiles: go, rust"
  25. exit 0
  26. fi
  27. echo $lang
  28. sudo docker build -t $4 -f $lang $path/.
  29. sudo docker run -it --entrypoint=/bin/bash --name $3 $4
  30. exit 0
  31. elif [[ $1 == "stop" ]]; then
  32. # $2: container_name
  33. sudo docker stop $2
  34. exit 0
  35. elif [[ $1 == "rm" ]]; then
  36. # $2: container_name
  37. sudo docker stop $2
  38. sudo docker rm $2
  39. exit 0
  40. elif [[ $1 == "ls" ]]; then
  41. sudo docker ps -a
  42. exit 0
  43. fi
  44. # $1: container_name, $2: image_name
  45. sudo docker start $1
  46. sudo docker container exec -it $1 bash