항해99 일지

74/99 도커 빌드 (맥 - ubuntu 호환) / nginx이용 https (실패)

농담농담 2022. 7. 21. 17:35

그간의 트러블 슈팅에 관해.

작은 트러블 슈팅은 수없이 많았는데 . 글쎄.. 큰 트러블슈팅은 없었다.

왜냐면 최근에 슈팅을 못하고 다른 방법으로 대체해버린 경우가 있었으니까.

 

1. 도커 빌드

최근 도커를 이용해서 배포하는 과정을 좀 단순화 하고자했다. 

왜냐면 우분투가 npm install 하는 과정에서 3번이나 터져버리고 나니까 쳐다보고싶지도 않았다.

여튼 맥에서 빌드 이후에 우분투에서 pull 하는 과정에서 자꾸 오류가 나서 알아보니까

AMD 기반 머신과, ARM 기반 머신 간에 호환이 맞지않아서 ..? 인듯 했다.

 

-인스턴스 타입 t2.micro인 AWS 서버는 AMD64 기반의 프로세서를 사용하므로 

-맥북 m1 은 ARM64 기반의 프로세서를 사용하므로

멀티 플랫폼을 위한 Buildx 도커 이미지 빌드를 해야한다.

 

docker buildx build \ --push \ --platform linux/arm64/v8,linux/amd64 \ --tag 이미지.

 

이렇게 빌드했더니 우분투에서 제대로 작동 되었다.

 

2. nginx (http -> https redirect)

docker image를 통한 nginx와 Certbot을 이용해서 https로 리다이렉트 하려면 ssl 인증서를 갱신해줘야하는데 그 과정에서 수많은 오류들을 만났다.

일단 Docker-compose 파일에서 volumes로 파일 경로를 설정하는 부분에서 한참 애먹었고 이후에 인증서 발급받고 https로 변환까지 했으나

301 리다이렉트 문제로 리다이렉트가 너무 많다는 에러가 떴다. 그 부분 코드를 삭제하니까 에러는 해결됐는데 서버가 켜지지 않았고 결국 시간에 쫓기다가

실패했다.

error를 찾는 과정에서 cloudflare 라는 서비스를 알게되었고 도메인을 등록해주고 https로 변환해주었다.