본문 바로가기
DOCKER

[DOCKER] Docker 컨테이너 생성 실습 - Nginx 생성 후 포트 수정

by sum_mit45 2024. 10. 16.
728x90
반응형
10월 15일(화) 수업 중 실습 내용 

Docekr로 Nginx 웹 서버 설정하기

- 도커를 사용해 Nginx 웹 서버를 설정하고 실행하는 실습을 진행하였다.
- 크게 도커를 이용해 Nginx 이미지를 다운로드 -> 컨테이너 실행 -> 포트 설정을 통해 외부에서 접속할 수 있는 환경을 구축했다.

1. Nginx 이미지 다운로드

docker pull nginx:1.18

 

- 먼저 위의 명령어를 이용하여 Nginx 1.18 이미지를 Docker Hub에서 로컬로 다운로드 한다. 

 

2. 이미지 확인

docker image

 

- 이미지가 정상적으로 다운로드 되었는지 확인한다.

 

3. Nginx 컨테이너 실행

 docker run --name nginx -d -p 80:80 nginx:1.18
  • -d :Nginx는 웹 서버 애플리케이션 이므로, 백그라운드에서 계속 동작해야 하므로 데몬(d 옵션)으로 실행했다.
  • -p 80:80 :nginx는 웹 서버이므로 외부에서 접속을 할 수 있어야 하므로 포트포워딩(p 옵션)을 해야한다. p 옵션 다음에 호스트컴퓨터의 포트번호:컨테이너의포트번호 를 설정한다.
  • --name nginx : 컨테이너를 만들 때 컨테이너 이름을 설정하지 않으면 컨테이너 ID를 가지고 작업을 계속 수행해야 하므로 컨테이너 이름을 설정하는 것이 좋다.

이제 웹 브라우저에서 http://localhost:80 으로 접속하여 Nginx 가 정상적으로 실행 중인지 확인할 수 있다.

localhost:80 으로 접속하여 확인해 볼 수 있다

 

4. 현재 실행 중인 컨테이너 멈추기

docker stop
docker ps

 

- 현재 실행 중인 컨테이너를 멈춘다.

- 그 다음에 현재 실행중인 컨테이너 목록을 확인하는 명령어를 통해 제대로 멈췄는지 확인한다.

도커 컨테이너 멈추기

5. 8001번 포트로 외부에서 접속할 수 있도록 설정 

 docker run --name webserver -d -p 8001:80 nginx:1.18

 

- 외부에서 Nginx 서버에 접속하려면 호스트 컴퓨터의 다른 포트를 열어야한다. (우리는 8001번 포틀ㄹ 사용하여 외부 접속을 허용했다.)

6. 컨테이너 실행 중인지 확인하기

(1) 네트워크 상태 확인

sudo netstat -nlp | grep 8001

 

- 컨테이너가 정상적으로 8001번 포트를 사용 중인지 확인할 때 이 명령어를 사용할 수 있다. 

 

(2) curl 명령어 이용해서 html로 내용이 오는지 확인

curl http://localhost:8001

 

(3) Linux 서버 웹 페이지에서 확인: http://localhost:8001에 접속하기

localhost:8001 에서 확인할 수 있다.

 

7. 리소스 및 컨테이너 내부 정보 확인

(1) 리소스 사용량 확인

docker stats 컨테이너이름

docker stats webserver

- 컨테이너가 사용 중인 CPU, 메모리 등의 리소스 사용량을 실시간으로 확인할 수있다. 

 

(2) 컨테이너 내부 프로세스 확인

docker top 컨테이너이름
  • 컨테이너 내부의 실행 중인 프로세스 확인

(3) 로그 확인

docker logs -f 컨테이너이름
  • -f: 실시간
  • -t: 마지막 로그 확인

(4) 호스트에서 컨테이너로 파일 복사

docker cp 호스트컴퓨터의파일경로 컨테이너이름:컨테이너내부파일경로

 

728x90
반응형