$ ssh -i {YOUR_KEY_PAIR_FILE.pem} {USER_NAME}@{AWS_PUBLIC_DNS_}
ssh -i "umochar-ec2-private.pem" [email protected]
2023.08.02
docker-compose 의 ports
base-60 value로 인식하기 때문에 “”를 넣어서 string으로 넣어줘야 함
80:3000 → host의 80번 포트를 컨테이너의 3000번 포트로 포워딩 해준다는 뜻
nginx.conf
listen 필드의 포트를 들어서 컨테이너 의 포트로 포워딩 해줌
현재 80으로 설정 → 80으로 들어오는 요청을 3000으로 포워딩 해준다?
Dockerfile의 EXPOSE
컨테이너의 포트를 노출하겠다 → 외부에 노출하는 것이 아니라 host OS 안에서 노출하겠다는 것 같음. docker-compose 파일에서처럼 포워딩을 해줘야 의미가 있는 것?
현재
docker-compose: ports - “80:80”
nginx.conf: listen 80
Dockerfile: EXPOSE 3000
로 수정해두었다.
의미: docker-compose에서 80으로 들어오는 요청을 컨테이너 80포트로 포워딩, nginx에서 80으로 들어오는 요청을 컨테이너에 전달 하도록 했음
결과
nginx 위에 react build 파일을 올려서 포워딩을 두 번 거치도록 설정되어 있음 → 그래서 80으로 연결 안되었던 것