All Articles

TIL&TEL 21.04.26~21.05.02

TIL( Today I Learned)

21-04-26 월

  • bg job 동작 확인
  • 3시 미팅
  • jenkins vm ssd 용량 늘리기

    • 불필요한 파일 제거함

21-04-27 화

  • Dockerization

    • git 정리하기
    • 공유문서

21-04-28 수

  • GCP Loadbalancer 달기

21-04-29 목

  • LB 구성 따라가기, 에러 개선하기
  • 로커스트 부하 테스트
  • Docker Gunicorn DB conn 없이 동작 확인하기
  • Django logger Error 확인하기

21-04-30 금

  • Docker, LB 문서 만들기
  • 개발 환경 Docker로 만들기
  • 도커 IntelliJ로 띄우기

    • compose 파일 지정해도 compose 전체를 띄우는게 아니다.
    • compose에 지정된 python path만 띄운다
    • DB 는 로컬 호스트로 접근을 하지 못한다.

      • ‘localhost’
      • ‘network ip’ 로 띄워야 한다.
    • DB 연결 호환성을 잡아 주는게 문제…

      • 해당 ENV 에 DB 가 정의 되어 있다면
      • 다행히 compose에 정의된 환경 변수들을 읽는다!!!

TEL (Trial and Error Log)

21-04-26

  • ERROR: mysql docker container keep restarting

    • SITUATION: docker 올리는중
    • REASON: 필수 환경 요소 뺴먹음
    • SOLUTION:

      • ENV 잘 챙기기
  • ERROR: “Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’

    • SITUATION: compose로 mysql db 실행중
    • REASON:

      • django 에서 접속 주소로 localhost를 지정 했음
      • docker에서 할당 받는 주소가 localhost가 아니다.
    • SOLUTION:

      • <= localhost
  • ERROR: OperationalError: (1045, ‘Plugin cachingsha2password could not be loaded

    • SITUATION: docker-compose up -d
    • REASON:

      • mysql version problem
    • SOLUTION:

      • mysql:5.7 <= mysql:latest
  • ERROR: Error response from daemon: remove gsapidj-database: volume is in use

    • SITUATION:

      • docker-compose up -d
    • REASON:

      • 기존에 사용 하던 volume이 안죽음
    • SOLUTION:

      • docker network prune -f
  • ERROR: “Unknown MySQL server host ’

    • SITUATION: docker-compose up -d
    • REASON:

      • mysql 연결 안됨
    • SOLUTION:

      • mysql 시작 port 연결 잘못해서 그럼

21-04-27

  • ERROR: docker compose gunicorn 부팅시 wsgi module파일 못찾음

    • SITUATION: docker image COPY —from=builder
    • REASON:

      • /usr/local/bin/ 에 gunicorn 이 있어야 실행 할 수 있음
    • SOLUTION:

      • COPY --from=builder /usr/local/bin /usr/local/bin 추가

21-04-28

  • ERROR: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

    • SITUATION: nginx 동작중
    • REASON:

      • 시스템 데몬의 불완전 동작으로 인하여 발생하는 로깅문
    • SOLUTION:

      • sudo fuser -k 80/tcp
      • sudo fuser -k 443/tcp

21-04-29

  • ERROR: GCP NAT 네트워크 에러

    • SITUATION: VM에서 일정 이상 접속하면 api 끊김
    • REASON:

      • VM당 접근 port 최소 수가 낮음

        • 2분내에 정해진 이상 연결이 생기면 처리를 못함
    • SOLUTION:

      • VM당 접근 Port 최소 수 올림
  • ERROR: Gunicorn django Ignored premature client disconnection. No more data after

    • SITUATION: Gunicorn Running On Develop
    • REASON: http를 받는데 https 를 보냄
    • SOLUTION:

      • Nginx 이용한다
  • Error Gunicorn 과 Runssrver는 다르다. Gunicorn application은 runserver와 달리 유효성 검증을 먼저 하지 않는다.

21-04-30

  • ERROR: docker compose db service 인식을 못함

    • SITUATION:

      • docker-compose up 하는데 service 인식 못함
    • REASON:

      • 기본 실행하는 port 가 있는데 그걸 내맘대로 바꿔버렸다.
    • SOLUTION:

      • 33060:3306 <= 33060:33060