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