만들기/EagleEye

[EagleEye][환경세팅] 채팅 서버 설치 (Vartalap) - 2차 시도

pythaac 2022. 5. 4. 18:12

https://pythaac.tistory.com/423

 

[EagleEye][환경세팅] 채팅 서버 설치 (Vartalap) - 1차 시도

https://github.com/pythaac/chat-server GitHub - pythaac/chat-server: A chat server based on the microservice architecture to ensure high availability, high throughput, A chat server based on the mic..

pythaac.tistory.com

 

  • 지난 번 진행사항
    • vartalap 설정 및 docker-compose로 올리기 시도
    • nginx 실패
    • 에러 메시지

 

  • [에러] rootfs_linux.go:75: mounting "/home/ubuntu/vartalap/chat-server/deployment/config/nginx/nginx.conf" to rootfs at "/etc/nginx/nginx.conf"
  • [에러] not a directory: unknown: Are you trying to mount a directory onto a file?

 

  • /etc/nginx/nginx.conf를 보니 config파일이고, /home/ubuntu/.../nginx.conf는 디렉토리였음
  • [가정] 그래서 디렉토리를 파일에 마운트 하려한다는 것인가?
  • [시도] docker-compose.yml 수정
    • nginx의 volume
      - ${CONFIG_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    • /etc/nginx/_nginx.conf:ro 로 수정
  • [성공] 재시도
    >> sudo docker-compose down
    >> sudo docker-compose --env-file ../.env -f docker-compose.yml -f docker-compose.local.yml up -d

 

Docker State Restarting

  • [에러] 하지만 State가 Restarting인 것이 이상했음
  • 로그 출력
    >> sudo docker logs --tail 50 --follow --timestamps deployment_gateway_1

  • 정상적으로 실행되고 있지 않았음
  • 원인을 찾아보던 중 cpu 아케텍처가 맞지 않을 때 나올 수 있다는 글을 발견

https://stackoverflow.com/questions/42494853/standard-init-linux-go178-exec-user-process-caused-exec-format-error

 

standard_init_linux.go:178: exec user process caused "exec format error"

docker started throwing this error: standard_init_linux.go:178: exec user process caused "exec format error" whenever I run a specific docker container with CMD or ENTRYPOINT, with no regard to...

stackoverflow.com

  • [원인] 그리고 이 도커 image가 AMD target이었다는 것을 발견...

https://hub.docker.com/r/ramank775/chatserver/tags

 

Docker Hub

 

hub.docker.com

 

  • [시도] 그래서 aarch64인 RaspberryPi에서 build 시도
    >> sudo docker build --tag pythaac/chatserver .

  • docker-compose.yml 변경
    - ramank775/chatserver
    - pythaac/chatserver로 변경
  • [성공] 재시도
    >> sudo docker-compose down
    >> sudo docker-compose --env-file ../.env -f docker-compose.yml -f docker-compose.local.yml up -d

 

  • [에러] 아직 message-delivery_1이 Restarting
  • log 출력
    >> sudo docker logs --tail 50 --follow --timestamps deployment_message-delivery_1

  • 아직 뭔가 불만이 있는듯
  • [해결] docker-complse.local.yml에도 ramank775/chatserver가 있었음

  • [성공] 재시도
    >> sudo docker-compose down
    >> sudo docker-compose --env-file ../.env -f docker-compose.yml -f docker-compose.local.yml up -d

 

  • 확인한 내용
    • vartalap의 docker 컨테이너 정상 동작
  • 확인해야할 내용
    • API 테스트
      - 컨테이너로 reqeust가 전달되어 response가 오는지 확인
      - [확인] nginx stop 상태로 8080포트에 접속하면 nginx default 페이지가 뜸 -> gateway container까지는 닿는듯?
      - [확인] group 확인하는 요청 던져봤는데 404 -> 권한이 없다는 response를 기대했음
    • 접속 테스트
      - vartalap client 설치로 동작 확인
    • Kafka 테스트
      - Kafka에 메시지 송수신 확인