ETC/MacOS,Rancher
Rancher - nginx 쉘로 띄워보기
건담아빠
2024. 7. 11. 10:45
custom.conf 생성
$ vi /Users/deokjoonkang/dev/opt/nginx/config/custom.conf
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
build-homepage.sh 작성
#!/bin/sh
IMAGE_NAME=nginx
IMAGE_VERSION=alpine
CONTAINER_NAME=$IMAGE_NAME-$IMAGE_VERSION-homepage
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 \
-p 8091:80 \
-v /Users/deokjoonkang/dev/opt/nginx/config/custom.conf:/etc/nginx/conf.d/custom.conf:ro \
-v /Users/deokjoonkang/dev/projects/neoflat/gobang-homepage/src/resource:/usr/share/nginx/html:ro \
-e TZ=Asia/Seoul \
-e LC_ALL=C.UTF-8 \
--name "$CONTAINER_NAME" \
$IMAGE_NAME:$IMAGE_VERSION
nerdctl ps -a
echo "############### [RUN] - nerdctl run ##### - ENDED"
echo ""
}
down() {
echo "##### [STOP] - nerdctl stop $CONTAINER_NAME"
nerdctl stop "$CONTAINER_NAME"
}
logs() {
nerdctl logs -f $CONTAINER_NAME
}
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` $CONTAINER_NAME bash
}
build() {
nerdctl build -t $IMAGE_NAME:$IMAGE_VERSION -f ./Dockerfile .
}
rm() {
echo "##### [RM] - nerdctl rm $CONTAINER_NAME"
nerdctl rm "$CONTAINER_NAME"
}
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 ${@}
실행 권한주기
$ chmod +x ./build-mariaDB.sh
실행 및 확인
deokjoonkang@gangdeogjun-ui-MacBookPro nginx % ./build-homepage.sh up
############### [RUN] - nerdctl run ##### - STARTED
./build-homepage.sh: line 24: stop: command not found
##### [RM] - nerdctl rm nginx-alpine-homepage
FATA[0000] 1 errors:
no such container: nginx-alpine-homepage
Error: exit status 1
##### [RUN] - nerdctl run nginx-alpine ...options
cdd9873d0a6ec2fb544964f28e753296b7d1f2dbb66e545a15c9ed13aeaa3e95
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
55d00ed36bce docker.io/library/mariadb:10.6.8 "docker-entrypoint.s…" 4 months ago Created 0.0.0.0:3306->3306/tcp mariadb-10.6.8
c2f6267ac31b docker.io/library/thumbor:7.7.4 "/bin/sh -c bash /th…" About an hour ago Up 0.0.0.0:8888->8888/tcp, 0.0.0.0:8889->8889/tcp thumbor-7.7.4
cdd9873d0a6e docker.io/library/nginx:alpine "/docker-entrypoint.…" Less than a second ago Up 0.0.0.0:8091->80/tcp nginx-alpine-homepage
############### [RUN] - nerdctl run ##### - ENDED