경기도 미래기술학교 클라우드/실습 가이드

Docker를 이용한 간단한 script 자동화

han098 2023. 7. 14. 17:55
반응형

Docker 사용 공간 상태 확인하는 script 만들기

리눅스에서 공간 상태를 확인하는 명령어 df /

리눅스의 저장 용량의 상태를 보여준다.

리눅스의 남은 저장 용량이나 상태를  실시간으로 확인을 할 수는 없다. 

자동으로 확인하기 위해서 script를 이용해서 자동화 해보자.

Vim df.sh = .sh는 쉘 스크립트 실행 파일로 쉘에 어떠한 명령을 할지를 스크립트 파일 형식으로 저장하는 확장자이다.

심플한 shell script

#! /bin/bash = /bin/bash로 실행
mkdir -p /webdata = -p
옵션은 상위 경로도 함께 생성
while ture
는 반복문이 false가 나올때까지 반복
do ~ done
은 반복문이 실행할 내용
df -h / = -h
는 보기 편한 용량의 크기로 출력
df -h / > webdata/index.html = df -h /
의 결과를 webdata/index.html에 저장
sleep 10 = 10
초 동안 딜레이

만든 script를 도커파일을 이용해 만들어준다.

docker build

ADD df.sh /bin/df.sh = dh.sh 파일을 /bin폴더에 저장하
RUN chmod +x /bin/df.sh = /bin/df.sh
의 실행권한 추가
ENTRYPOINT [“/bin/df.sh”] = ENTRYPOINT
CMD와 결과적으로는 같지만 CMD는 외부에서 변경이 가능하지만 ENTRYPOINT는 변경이되지않는다. /bin/df.sh를 실행

빌드 결과

해당 이미지로 컨테이너를 만들면 만들어져서 작동이 된다.

docker run -d –name df dlgksruf098/df:1.0

제대로 작동되는지 알아보기 위해서 webdata에 들어가서 index.html을 확인해 보자.

저장이 잘되고 있다. 이제 저장이된 index.html을 웹서버를 통해서 띄워보자.

-v 를 통해 마운트 해주자.

host의 /webdata 폴더에 있는 파일들을 컨테이너의 /usr/share/nginx/html에 덮어 씌운다 = overlay 형식의 파일구조여서 nginx의 원래 파일들이 전부 덮여 씌워진다. :ro는 read only로 설정한다는 뜻으로 root가 아니면 쓰기기능을 없애버린다.

깔끔하게 잘 나온다.

nginx를 curl로 확인하면 잘 나오게 된다.

브라우저를 통해서 확인

브라우저에서도 잘나오게 된다. 만약 host에서 image를 pull 해보면 %가 달라지게 된다.

반응형