본문 바로가기

BSs75

[AirFlow] db init ERROR - Fail to ~ GET /api/v1/connections ... AttributeError: columns 에러 메세지 ERROR - Failed to add operation for GET /api/v1/connections ... connexion.exceptions.ResolverError: ... AttributeError: columns 상황 특정 프로젝트의 환경에서 AirFlow를 설치하고 airflow db init 명령어를 입력했을때 발생 원인(추정) DB를 확인해봤을때, airflow전용 Table은 모두 생성이 된 상태였기 때문에 DB연결 문제는 아닌 것 으로 확인됨. 기존 프로젝트의 환경과 airflow의 환경이 충돌했을 가능성이 높음 해결 구글링 해본 결과 apache-airflow는 SQLAlchemy의 1.4.0 버전 이상과 잘 호환되지 않는다고 한다. 따라서 기존 프로젝트에서 무조건.. 2021. 9. 15.
[Shell Script] .env 파일 읽어오기 docker-compose 스크립트에서 환경변수 파일(.env)을 따로 읽어오는 방법은 --env-file 명령어를 사용하는 것이다. # 예시 (-d: background 실행) docker-compose --env-file ${CURRENT_PATH}/.env up -d 이 명령어를 리눅스의 쉘 스크립트 내부에서 사용하고 환경변수 파일(.env)에 사용된 환경변수를 중복선언하지 않고 쉘 스크립트 내부에서 공유하는 방법이 필요했다. 하지만 app에서는 config.ini 파일을 쓰고 있어서 결론적으로는 두개를 사용하게 되버렸지만..ㅠㅠ 본론으로 돌아와서 쉘 스크립트에서 export 명령어를 사용하면 된다. # Shell Script 읽어오기 테스트 while read line; do export $lin.. 2021. 9. 14.
[Shell Script] 쉘 스크립트에서 config.ini 파일 읽고 쓰기 (feat. konfig) 서비스를 하려고 보면 각 환경, 프로젝트마다 설정을 위한 값이 유동적이기 때문에 config파일을 읽어오는 것은 중요하다. python 프로젝트 내부에서는 config.py를 따로 두고 konfig 라는 라이브러리를 따로 설치해서 ini파일을 읽어주기도 한다. 이번 포스팅의 목적은 한개의 config.ini 파일로 python 프로젝트에서도 활용하고 shell script에서도 활용하기 위함이다. # 밑에서 계속 사용하게 될 config.ini 파일 내용 # config.ini [server] HOST= 0.0.0.0 PORT= 8889 [db] USER= kbj PW= 1234 ADD= 192.168.0.1 PORT= 2345 NAME= kbjdb [file] STORAGE= /xedm_storage/.. 2021. 9. 8.
[Docker] Docker run 상태 유지하기 Dockerfile Script를 작성하면서 container를 띄울때 아무리 -d 옵션을 주고 --restart always 옵션을 주어도 무한 restart에 걸리기만 하고 container가 정상적으로 유지되지 않았다. 이유를 찾아보니, Docker는 앱의 실행과 배포에 초점이 맞춰져 있기 때문에 내부에서 실행중인 프로세스가 없는경우 자동으로 종료해 버린다. 그렇기 때문에 Container 내부에는 항상 어떤 프로세스가 돌고 있어야 한다..! 잘 생각해 보면, 일반적으로 Docker Image를 다운받고 실행해보면 항상 container 내부의 bash로 접속하는 경우가 많았는데, 이게바로 Dockerfile에 CMD로 "bash" 프로세스를 항상 실행시켜 유지하므로써, container가 종료되지.. 2021. 9. 1.