TIL - 2021.1.28

Wanna be __·2021년 1월 28일
0

TIL

목록 보기
10/45
post-thumbnail

Today, I Learned

  1. 실행중인 Container의 환경 변수 확인하기
    docker exec <container_id> bash -c 'echo "$ENV_VAR"'

  2. dockerfile의 entrypoint를 설정하여 django container의 migration을 할 수 있다.
    Dockerfile의 RUN, CMD, ENTRYPOINT, Dockerrun.aws.json의 Command 명령어의 차이점에 대하여 공부하였다. 참고 사이트

Today, I Did

오늘의 여정

===============================================================
(2021.1.27 TIL에서 계속..)
8. 아무것도 없는 상태에서 시작
9. nginx:latest, command "nginx", "-g", "daemon off;" 작성해서 배포 - 성공
10. nginx custom, django + gunicorn 작성 - 실패 (Hook /opt/elasticbeanstalk/hooks/appdeploy/enact/03start-task.sh failed.)
11. nginx custom, react + nginx 작성 - 실패 (Hook /opt/elasticbeanstalk/hooks/appdeploy/enact/03start-task.sh failed.)
12. 11번 nginx custom 파일 단독 빌드 - 실패 (Hook /opt/elasticbeanstalk/hooks/appdeploy/enact/03start-task.sh failed.)
13. 11번 nginx custom 파일에서 upstream 없애고 naver.com으로 빌드 - 성공 why? 의심되는 부분 1. upstream 설정된 host name 문제, 2. custom nginx의 Dockerfile 설정 문제
14. 13번의 2번 먼저 확인 -> 디렉토리 상대경로 typo 발견 -> ./ 추가하여 성공
15. 수정한 nginx custom 파일, react + nginx 작성 - 성공!
===============================================================

  1. 10번 수정(dockerrun 에 backend port 설정 없음, backend는 command로 gunicorn 명령어, nginx는 upstream으로 8000포트로 내보내기)해서 재빌드 -> 에러!
  2. 16번 수정(dockerrun에 backend port 설정 추가)해서 재빌드 ->에러!
  3. 16번 /bash/sh 파일 만들어서 migration, gunicorn명령어 수행 & (dockerrun 에 backend port 설정 없음, nginx는 upstream으로 8000포트로 내보내기)후 빌드 -> 에러!
  4. 18번 수정(dockerrun에 backend port 설정 추가)해서 재빌드 -> 에러!
  5. 18번 수정 (entryfile 상대경로 수정, django settings.py에 STATIC_ROOT 추가, port 설정 없음)후 빌드 -> 성공...
  6. Django + React + Nginx 통합 배포 성공

이때까지 실패 원인 분석

  1. 이유는 잘 모르겠으나, Dockerrun.aws.json command로 실행한 gunicorn 명령어가 제대로 되지 않는 것 같다 -> 20번 성공 후 21번으로 다시 테스트했을때 실패하였으니 이쪽문제가 맞는듯..

  2. 여러 nginx image를 build하다보니 헷갈려 frontend쪽 부분을 backend쪽에 대입한 경우가 있다.

  3. ec2에 ssh로 접속하여 /var/log/eb-activity.log 만을 이용했다. 여기 나오는 에러(ECS fail)은 결국 Docker문제고, Trouble Shooting을 위해서 봐야할 로그는 Docker Container들의 로그들이다. => sudo docker logs [container id]

profile
성장하는 개발자

0개의 댓글