ETC/MacOS,Rancher
Mac에서 Python으로 된 thumbor Rancher로 기동
건담아빠
2024. 4. 12. 06:36
Mac에서 Python으로 만들어진 thumbor를 Rancher기반에서 컨테이너를 기동하는 스크립트를 간단하게 작성해 놓자.
매번 컨테이너 중지, 시작 삭제 등 여러 기능들을 기억하고 사용하는것도 좋지만 쉘로 만들어 놓고 사용하는것도 나쁘지 않은 선택지일것 같다.
참고로 nerdctl 이부분만 docker로 변경하면 docker환경에서도 가능할듯하다!
build-thumbor.sh
#!/bin/sh
IMAGE_NAME=thumbor
IMAGE_VERSION=7.7.4
help(){
if [ -z "$1" ]; then
echo "사용법: $0 up|down|restart|logs|bash|build|rm|help"
echo " $0 up : 컨테이너 시작"
echo " $0 down : 컨테이너 종료"
echo " $0 restart : 컨테이너 재시작"
echo " $0 logs : 컨테이너 로그 열람 (tail -f)"
echo " $0 bash : 컨테이너에 bash 접속"
echo " $0 build : 컨테이너 빌드"
echo " $0 rm : 컨테이너 제거"
exit
fi
}
up() {
echo ""
echo "############### [RUN] - nerdctl run ##### - STARTED"
stop
echo ""
rm
echo ""
echo "##### [RUN] - nerdctl run $IMAGE_NAME-$IMAGE_VERSION ...options"
nerdctl run -d \
--name "$IMAGE_NAME-$IMAGE_VERSION" \
-p 8888:8888 \
-p 8889:8889 \
-v ./docker/share:/thumbor \
-v ./docker/aws-config:/root/.aws $IMAGE_NAME:$IMAGE_VERSION
nerdctl ps -a
echo "############### [RUN] - nerdctl run ##### - ENDED"
echo ""
}
down() {
echo "##### [STOP] - nerdctl stop $IMAGE_NAME-$IMAGE_VERSION"
nerdctl stop "$IMAGE_NAME-$IMAGE_VERSION"
}
logs() {
nerdctl logs -f $IMAGE_NAME-$IMAGE_VERSION
}
bash() {
#winpty docker exec -it $IMAGE_NAME bash
#nerdctl exec -it $IMAGE_NAME bash
nerdctl exec -ti --env COLUMNS=`tput cols` --env LINES=`tput lines` $IMAGE_NAME-$IMAGE_VERSION bash
}
build() {
nerdctl build -t $IMAGE_NAME:$IMAGE_VERSION -f ./Dockerfile .
}
rm() {
echo "##### [RM] - nerdctl rm $IMAGE_NAME-$IMAGE_VERSION"
nerdctl rm "$IMAGE_NAME-$IMAGE_VERSION"
}
main() {
local cmd=${1:-''}
case "${cmd}" in
"up")
up
;;
"down")
down
;;
"restart")
down
up
;;
"logs")
logs
;;
"bash")
bash
;;
"build")
build
;;
"rm")
rm
;;
"help"|*)
help
exit
;;
esac
}
main ${@}