Search

#007 #NginX 직접 설치 및 실행

ex04 : Nginx 서버 직접 설치 및 실행

Dockerfile을 ex04에 생성

Dockerfile 작성

포 그라운드 테스트

도커파일을 위처럼 작성하고 테스트 해보자. 여기서 Run은 이미지를 구울 떄 실행이 되는 것이고, CMD는 실행할 때 작동하는 곳
그러고 이미지를 구워보자.
nginx로 바꿔서 실행해보자.
실행 해보자. ./ 경로를 적어줘도 실행된다.
docker images로 이름을 찾아서 실행하면 어떻게 될까?? 유지가 될까?
Hello World만 찍고 종료가 되었다. 그래서 서버가 유지되게 할려면 백그라운드로 실행해야된다!!

백 그라운드 테스트

-dit 설명: 컨테이너를 백그라운드에서 실행하고, 가상 터미널을 통해 상호작용을 가능하게 한다.
JavaScript
복사
도커를 bash로 실행 시켜본다. 컨테이너 ID가 안꺼지고 살아 있다. bash 옵션을 달면 도커파일의 CMD를 치환한다.
컨테이너에 접속하는 명령어 attach
docker attach로 접속하면 아래처럼 CMD명령어 창이 뜬다. 개발자로서 일반적으로 작업하는 모드를 사용하기 위해서는 -dit를 사용하자.
지금 까지 프로세스 정리

nginx 사용하기

find / -name nginx 로 검색이 가능 하지만 너무 많은 결과가 나오기 때문에 문서를 읽어야 어디서 실행하는 지 알 수 있다. 도커허브로 가보자.

nginx 문서 읽어보기

도커 허브에서 nginx검색
문서를 확인해 본다.
문서에서 이걸 확인하자마자, 아~ 오리지널 경로에서 /usr/share/nginx/html 폴더로 복사가 되는데 이게 웹서버 폴더구나 라고 파악할 수 있다.
웹서버 폴더로 들어가보자. index.html이 있음을 확인이 가능 혹시 내부를 확인하고 싶으면 cat index.html 로 확인이 가능
docker run -p 8080:80 -dit 이미지명 실행도구 포트포워딩 설정해서 다시한 번 실행해보자.
실행이 안되는데, 서버를 실행한 것이 아니라. command가 bash로 되어있어서 직접 실행이 되지 않았다는 것을 알 수 있다.
문서에 실행 커맨드를 확인하고
우리 도커파일을 수정하자. 근데 또 실행 안됨, 직접 설치한게 아니라 경로를 설정해줘야 된다. WORKDIR 설정이 필요함.

코드 수정후 재행

이렇게 설정해서 다시 실행해보자.

프로세스 순서 다기

1. docker build -t nginx . 2. docker run -dit -p 9000:80 nginx 3. docker ps // 이걸로 ps가 돌아가고 있는지 확인 4. 웹으로 localhost:9000 접속
JavaScript
복사
확인 완료

더 나은 방법? entrypoint.sh 파일 사용

앞으로는 엔트리포인트로 파일을 불러와서 사용하라고 하시는데, 도커파일로 작성할려면 이 명령어들을 전부 RUN에 할당하면 된다.

도커파일로 작성시 문법