$ ssh -i {YOUR_KEY_PAIR_FILE.pem} {USER_NAME}@{AWS_PUBLIC_DNS_}

ssh -i "umochar-ec2-private.pem" [email protected]

2023.08.02

  1. docker-compose 의 ports

    Untitled

    base-60 value로 인식하기 때문에 “”를 넣어서 string으로 넣어줘야 함

    80:3000 → host의 80번 포트를 컨테이너의 3000번 포트로 포워딩 해준다는 뜻

  2. nginx.conf

    listen 필드의 포트를 들어서 컨테이너 의 포트로 포워딩 해줌

    현재 80으로 설정 → 80으로 들어오는 요청을 3000으로 포워딩 해준다?

  3. Dockerfile의 EXPOSE

    컨테이너의 포트를 노출하겠다 → 외부에 노출하는 것이 아니라 host OS 안에서 노출하겠다는 것 같음. docker-compose 파일에서처럼 포워딩을 해줘야 의미가 있는 것?

현재

docker-compose: ports - “80:80”

nginx.conf: listen 80

Dockerfile: EXPOSE 3000

로 수정해두었다.

의미: docker-compose에서 80으로 들어오는 요청을 컨테이너 80포트로 포워딩, nginx에서 80으로 들어오는 요청을 컨테이너에 전달 하도록 했음

결과

Untitled

nginx 위에 react build 파일을 올려서 포워딩을 두 번 거치도록 설정되어 있음 → 그래서 80으로 연결 안되었던 것