굉장히 이상한 오류가 생겼다.
도커로 빌드해서 서버에 올렸는데 처음에는 새 코드가 뜨다가 어느 순간 보면 자꾸 옛날코드가 반영되어있었다.
그런데 신기한건 20분쯤 지나면 다시 새 코드가 반영된다.
그리고 또 좀 지나면 옛날코드가 뜰 때도 있다.
브라우저에서 캐시비우기 및 강력새로고침을 해도 결과는 같았다.
도커 빌드시에도 no cache옵션을 사용해봤고 docker prune -a 명령어도 사용해봤다.
도커 안에서 curl로 테스트도 해 보았고 도커 밖에서도 테스트 해봤는데 도커 안에는 분명 새 코드가 반영되어있었고 접속도 잘 되는데 도커 밖에서가 문제였다.
해본 것
1. 브라우저 캐시 비우기 및 강력 새로고침
2. 도커 빌드시 no cache 옵션 사용해보기
3. 도커 이미지 태그 바꿔보기
4. 도커 레포지토리 이름 바꿔보기
5. docker prune -a 명령어 사용해보기
6. ec2에 docker 재설치해보기
7. 도커 컨테이너 내부에서 curl 명령어 실행해보기
8. 도커 컨테이너 밖에서 curl 명령어 실행해보기
9. nginx 재시작해보기
10. nginx 끈 상태로 테스트해보기
11. 로컬에서 도커 이미지 실행해보기 (정상)
12. 다른컴퓨터의 로컬에서 도커 이미지 실행해보기 (정상)
13. 해당 포트를 다른 프로세스가 실행중인지 확인하는 명령어 쳐보기
14. docker 컨테이너를 종료하고 접속해보기 ( 접속안됨)
...
여러 삽질을 해보다가 도움을 받아서 알게된 내용으로는...
옛날코드가 같은 포트로 동작하고있다는 사실이었다.
어떤 프로세스가 해당 포트를 실행하고있는지 보는 명령어를 쳐도 나오지 않았었는데...
프로그램이 꼬였던 것 같다.
윈도우도 종료를 누른 프로그램이 종료되지 않을 때도 있는 것 처럼...
왜 두 프로세스가 번갈아가며 이기는지는 아직 의문이다..
재부팅을하거나 다른 포트를 사용해보라는 권유를 받고 다른 포트를 사용해보기로했다.
고정ip가 아니라 재부팅을 하면 운이 나쁘면 아이피가 바뀔 수도 있었기 때문이다.