Docker로 Nginx 서버 실행

박우진·2025년 3월 2일

Network/Server

목록 보기
4/12

1. Nginx Docker 이미지 가져오기

1) Docker Hub에서 Nginx 이미지 다운로드

먼저 Nginx 이미지를 Docker Hub에서 다운로드합니다.

docker pull nginx

이 명령어는 공식 Nginx Docker 이미지를 로컬로 다운로드합니다.


2. Nginx Docker 컨테이너 실행하기

1) 기본 Nginx 컨테이너 실행

docker run --name nginx-container -p 8080:80 -d nginx
  • --name nginx-container: 컨테이너 이름 설정 (원하는 이름으로 변경 가능)
  • -p 8080:80: 호스트의 8080 포트컨테이너의 80 포트를 연결 (Nginx의 기본 포트는 80)
  • -d: 컨테이너를 백그라운드에서 실행
  • nginx: 사용할 이미지 이름 (위에서 docker pull nginx로 받은 이미지)

2) 브라우저에서 확인

이제 브라우저에서 http://localhost:8080 을 입력하여 Nginx 기본 페이지가 나오는지 확인!

"Welcome to nginx!" 페이지가 표시되면 성공


3. Nginx 설정 파일 수정하기

Nginx의 기본 설정 파일을 수정하여 커스텀 설정을 추가할 수 있습니다.
수정 방법은 다음과 같습니다.

1) 설정 파일을 컨테이너에 마운트하기

호스트 시스템에 Nginx 설정 파일을 만들고 이를 컨테이너에 마운트할 수 있습니다.

  1. 호스트 시스템에 설정 파일 준비
    nginx.conf 파일을 호스트 시스템에 저장 (예: /home/user/nginx.conf)

  2. 컨테이너 실행 시 설정 파일 마운트

    docker run --name nginx-container -p 8080:80 -v /home/user/nginx.conf:/etc/nginx/nginx.conf -d nginx
  • -v /home/user/nginx.conf:/etc/nginx/nginx.conf: 호스트 시스템의 nginx.conf 파일을 컨테이너 내부의 설정 파일로 마운트

2) Nginx 설정 파일 수정 후 컨테이너 재시작

설정 파일을 수정한 후, 컨테이너를 재시작해야 변경 사항이 적용됩니다.

docker restart nginx-container

4. Nginx Docker 컨테이너에 웹 페이지 배포

웹 애플리케이션 파일을 컨테이너 내부의 Nginx 서버에 배포할 수도 있습니다.

1) 웹 파일을 호스트에서 컨테이너로 복사하기

docker cp /path/to/your/website/index.html nginx-container:/usr/share/nginx/html
  • /path/to/your/website/index.html: 호스트 시스템에 있는 웹 파일 경로
  • nginx-container:/usr/share/nginx/html: 컨테이너의 웹 서버 디렉터리 경로

2) 배포된 웹 페이지 확인

브라우저에서 http://localhost:8080 을 입력하여 배포한 웹 페이지가 잘 보이는지 확인!


5. Nginx Docker 컨테이너 관리

1) 실행 중인 컨테이너 확인

docker ps

2) 컨테이너 로그 보기

docker logs nginx-container

3) 컨테이너 종료

docker stop nginx-container

4) 컨테이너 삭제

docker rm nginx-container

5) 서버 내에 실행되고 있는 nginx 확인 방법

curl http://localhost:8080

6. Nginx SSL 설정

docker run -d --name nginx-container --network myblog-network -p 80:80 -p 443:443 -v /etc/letsencrypt:/etc/letsencrypt:ro -v ~/config/nginx.conf:/etc/nginx/nginx.conf nginx

0개의 댓글