[42cursurs]ft_server(autoindex, Dockerfile)

이상헌·2020년 9월 8일
0

ft_server

목록 보기
6/6
post-thumbnail

autoindex

마지막으로 autoindex 기능만 처리하면 된다. 문서에 따르면 autoindex는 index에 명시된 파일들을 찾지 못할 경우 디렉토리의 목록을 출려해준다. 우리의 설정파일에 명시된 index.*라는 파일들을 볼 수 있다. 브라우저에서 접근하는 우리의 루트 디렉토리의 대표문서들로 해당 문서들을 찾을 수 없을 경우 아래와 같이 디렉토리의 문서들을 목록으로 출력해줄 수 있다.

autoindex 기능을 사용하기 위해 niginx 설정파일을 수정해주자.

vi /etc/nginx/sites-available/default

default 파일을 vim편집기로 열어서 아래와 같이 수정해준다.

	#index index.php index.html index.htm index.nginx-debian.html;

	location / {
		autoindex on;
		try_files $uri $uri/ =404;
	}

index의 명시된 파일을 찾지 못하게 그냥 주석처리해버렸다. "/" 패턴의 location블럭에 autoindex on; 을 추가해준다. 수정한 파일을 저장하고 nginx를 reload 시켜준다. 브라우저에서 localhost로 접속해보면 목록이 출력되는 것을 확인할 수 있다. 또한 목록의 파일링크를 클릭하면 해당하는 문서로 redirection할 수 있다.

Dockerfile

subject가 원하는 사항을 만족했다. 이제 이 작업들을 자동화시켜서 매번 똑같은 작업을 반복하지 않아도 간단하게 Container를 생성시켜줄 Dockerfile을 작성한다. 답을 기록하기에는 뭣해서 본인이 쓴 지시어만 몇가지 소개하고 마치겠다.

FROM : 가장 먼저 쓰는 지시어로 빌드할 이미지의 기반이 될 image를 지정한다.

FROM <이미지이름>:<태그> ex) FROM debian:buster

RUN : FROM으로 지정한 image에서 실행할 명령이다. apt-get install 이나 생성한 파일을 적절히 배치하도록 mv 따위를 쓸 때 쓴다. 제일 많이 쓴 지시어다.

RUN 명령어 ex) RUN apt-get update

COPY : image 안에서 수정하기는 번거로운 설정파일들을 미리 완성해서 보유하고 있다가 빌드 시에 image 안에 적절히 복사해주는데 사용했다.

COPY <복사할 파일> <이미지에서 파일이 복사될 경로> ex) COPY srcs/default.conf /etc/nginx/sites-available/default

CMD : 빌드된 image를 기반으로 container가 생성되고 실행될 명령어를 지정한다. docker run으로 컨테이너 생성 시에 /bin/bash를 붙이면 해당 명령에 덮어씌워지는 일이 발생하니 주의하자.

CMD 명령어 ex) CMD bash init.sh

참고

profile
배고픈 개발자 sayi입니다!

0개의 댓글