일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dockerfile
- 정리
- 데이터 웨어하우스
- 데이터엔지니어링
- 데이터 엔지니어링
- 종류
- S3
- AWS
- Go
- HADOOP
- sql
- Django
- http
- linux
- 컴퓨터 네트워크
- airflow.cfg
- TIL
- 데브코스
- PYTHON
- 컴퓨터네트워크
- TCP
- Docker
- airflow
- 자료구조
- redshift
- 데이터베이스
- 운영체제
- 데이터 파이프라인
- 가상환경
- 파이썬
- Today
- Total
목록분류 전체보기 (183)
홍카나의 공부방
실행 중인 컨테이너를 중지시킬 때 docker stop과 docker kill 명령어를 사용할 수 있다. stop과 kill 이라는 단어가 주는 어감을 생각해보면 두 명령어의 차이점이 바로 이해된다. (1) Docker stop stop은 그동안 컨테이너가 수행하던 작업들을 완료하고 컨테이너를 중지 시킨다. 즉, Grace Period(정리하는 시간)을 가지게 된다. (2) Docker kill kill은 stop과 달리 컨테이너를 즉시 중지시킨다.
docker run {이미지 이름} ls 위 명령어를 입력하면 docker 이미지 내부의 파일 시스템 구조를 확인할 수 있다. 예를 들어서 > docker run ubuntu ls 위 명령어를 실행하면 1. ubuntu 이미지 기반의 새로운 컨테이너를 생성한다. 2. 컨테이너를 생성할 때, ubuntu 이미지에 포함된 파일 스냅샷(snapshot)을 컨테이너 파일 시스템에 Mount한다. 즉, 이미지에 저장된 파일 시스템 레이어를 컨테이너에서 접근 가능하도록 만드는 과정이다. 3. 이미지 이름 뒤에 ls가 붙었기 때문에 ubuntu 이미지의 기본 커맨드(ex: /bin/bash)를 대체하여 ls 명령어가 실행된다. 이러한 process를 거친다. 위 process를 보고 가질 수 있는 궁금증에 대하여 아..
1. 컨테이너의 IP docker container들은 기본적으로 유동 IP를 가지고 있다. 즉, 컨테이너 재기동시 IP가 바뀔 수 있다는 것이다. 그래서 고정 IP를 할당하려면 networks 만들어서 할당해야 한다. Airflow를 구성할 때 postgresDB에 고정IP를 할당시켜서 DB에 접속하는 경우를 살펴보자. 먼저 airflow가 만드는 여러 기본적인 container들이 있는데 이 컨테이너들은 네트워크 지정이 되어있지 않다. 그러면 default network에 모두 소속된다. 그런데 docker에서 컨테이너 간의 네트워크가 다르면 통신할 수 없다! 따라서 동일 네트워크로 할당하는 과정이 필요하다. 2. docker-compose.yaml 파일 수정하기 docker-compose.yaml ..
plugins 폴더에 있는 외부 모듈에서 외부 라이브러리를 import하는데 airflow에서 이를 찾을 수 없다는 오류 메시지가 나왔다. 분명 로컬 파이썬 가상환경에서 해당 라이브러리를 pip install로 설치했는데도 불구하고 인식못하는 것이다. 1. 문제 원인 > 처음 Airflow를 설치할 때 Airflow를 실행할 파이썬 환경에 해당 라이브러리가 같이 설치되지 않았다. Numpy나 Pandas와 같은 대중적인 라이브러리의 경우, Airflow 공식 이미지로 컨테이너를 설치할 때 기본적으로 같이 설치되지만 특정한 라이브러리는 그렇지 않다. 로컬에서 .env로 PYTHONPATH를 맞춰주는 등 로컬단에서의 해결 방법을 다 시도해봤는데 여전히 no module 문제가 발생한다면 Airflow의 파이..