-
Notifications
You must be signed in to change notification settings - Fork 0
/
start_pintos.sh
executable file
ยท40 lines (33 loc) ยท 1.25 KB
/
start_pintos.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# ์ฌ์ฉ์์ ์ด๋ฆ์ด๋ ๊ณ ์ ํ ๊ฐ์ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋ ์ด๋ฆ ์ค์
USER_NAME=$(whoami)
CONTAINER_NAME="pintos_${USER_NAME}"
IMAGE_NAME="cocopam/pintos-runner:latest" # Docker Hub์์ ๊ฐ์ ธ์ฌ ์ด๋ฏธ์ง ์ด๋ฆ
# ์คํํ ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ID ๊ฐ์ ธ์ค๊ธฐ
HOST_UID=$(id -u)
HOST_GID=$(id -g)
# Docker Hub์์ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
echo "Docker Hub์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค: ${IMAGE_NAME}"
docker pull ${IMAGE_NAME}
if [ $? -ne 0 ]; then
echo "Docker ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ์คํจํ์ต๋๋ค."
exit 1
fi
echo "Docker ์ด๋ฏธ์ง(${IMAGE_NAME}) ๊ฐ์ ธ์ค๊ธฐ ์๋ฃ."
# ๊ธฐ์กด ์ปจํ
์ด๋๊ฐ ์๋ค๋ฉด ์ญ์
EXISTING_CONTAINER=$(docker ps -a --filter "name=${CONTAINER_NAME}" --format "{{.ID}}")
if [ -n "$EXISTING_CONTAINER" ]; then
echo "๊ธฐ์กด ์ปจํ
์ด๋(${CONTAINER_NAME})๊ฐ ์กด์ฌํฉ๋๋ค. ์ญ์ ๋ฅผ ์งํํฉ๋๋ค..."
docker rm -f ${CONTAINER_NAME}
echo "๊ธฐ์กด ์ปจํ
์ด๋๊ฐ ์ญ์ ๋์์ต๋๋ค."
fi
# ์ปจํ
์ด๋ ์คํ
echo "์ปจํ
์ด๋(${CONTAINER_NAME})๋ฅผ ์คํํฉ๋๋ค..."
docker run -it \
--name ${CONTAINER_NAME} \
--hostname ${CONTAINER_NAME} \
-e HOST_UID=$(id -u) \
-e HOST_GID=$(id -g) \
-v $(pwd):/pintos \
-w /pintos \
${IMAGE_NAME}