본문 바로가기

반응형

docker

[Kafka/Python] Kafka 설치 방법(Conduktor) 실시간 데이터 처리 플랫폼의 대표라고 할 수 있는 Kafka에 대해 공부하기 위해서, Kafka를 어떻게 설치하는지 알아보려고 한다. 이 글에서는 Kafka를 Docker Container로 실행할 예정이기 때문에, 기본적으로 Docker가 설치되어 있어야 한다. Docker 설치는 아래 글을 참고하길 바란다. (Windows의 경우 WSL2 설치가 필요할 수 있다.) Docker의 개념 및 기본 실행 명령어 [Docker] Docker의 개념 및 기본 실행 명령어Docker Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해주는 Linux 컨테이너 기반 플랫폼이다. 애플리케이션과 관련된 라이브러리와 종속성을 하나의 패키지로 묶어 어디minding-deep-learning.tis.. 더보기
[Docker] Docker Volume Docker Volume?Docker Container가 실행되었다가 중단된다면, 그 안에 있는 데이터들은 일반적으로 유실된다. 하지만 Container에서 DB같은 프로그램이 동작하는거라면, 그 데이터가 유실되면 안될 것이다. 그 데이터를 보장하는 기능이 Docker Volume이라고 할 수 있다. Docker Volume은 Docker Container의 가상 파일 시스템과 호스트 시스템(OS)의 파일 시스템을 맵핑해 기록을 남기는 방식으로 데이터를 저장한다. 위와 같은 방식으로 Container의 특정 폴더 경로를 OS 시스템의 포더 경로와 마운트해 해당 폴더를 공유하는 것이다. Docker Volume 타입Host Volumes: docker run -v를 실행할 때 페어로 지정docker run.. 더보기
[AWS] ECS / ECR ECR ECR은 Docker의 Dockerhub와 같이 AWS에서 제공하는 이미지 저장공간(레포지토리)이다. ECR을 통해 컨테이너 이미지를 공개 또는 비공개적으로 공유할 수 있다. 해당 메뉴는 ECS 내에 존재한다. ECS ECR에 저장되어 있는 이미지를 기반으로 가상화된 서비스를 제공한다.  ECR 생성기본 레포지토리 생성 방법은 간단하다. 레포지토리 이름만 적은 뒤 생성을 눌러주면 된다. 아직은 이미지가 없는 빈 레포지토리인 것을 볼 수 있다. 오른쪽 상단 '푸시 명령 보기'를 누르면 이미지를 업로드할 수 있는 방법을 알려준다. 위 순서대로 준비한 Dockerfile을 업로드해줄 수 있다. 하지만 그 전에 ECR에 접근할 수 있는 권한을 먼저 설정해줄 필요가 있다. IAM에서 ecr-fullacce.. 더보기
[Docker] Docker의 개념 및 기본 실행 명령어 Docker Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해주는 Linux 컨테이너 기반 플랫폼이다. 애플리케이션과 관련된 라이브러리와 종속성을 하나의 패키지로 묶어 어디서든 일관된 환경에서 실행되도록 해준다. 이전에는 하나의 PC(또는 서버)에 가상화(Virtual Machine)를 통해 여러 개의 애플리케이션을 실행시키는 방법이 많이 사용됐다. 하지만 최근에는 Docker를 통해 각 컨테이너 별로 애플리케이션을 실행시키는 방식이 많이 도입되고 있다. 하나의 하드웨어에서 여러 개의 소프트웨어를 실행시킨다는 기본적인 개념은 같지만, Docker를 쓰기 시작한 데에는 많은 이유가 있다. 특징가상 머신(VM)Docker 컨테이너운영체제각 VM마다 별도의 게스트 OS 필요호스트 O.. 더보기
[Airflow/Docker] Postgres 컨테이너 추가해 DB 접속하기 docker-compose.yaml 파일 수정해 Postgres 컨테이너 추가하기 먼저 docker-compose.yaml 파일을 열어 services 항목에 아래 내용을 추가한다.services postgres_custom: image: postgres:13 environment: POSTGRES_USER: minding POSTGRES_PASSWORD: minding POSTGRES_DB: minding TZ: Asia/Seoul volumes: - postgres-custom-db-volume:/var/lib/postgresql/data ports: - 5432:5432 # 외부에서 접속할 수 있도록 포트 노출 또한 pos.. 더보기
[Airflow/Docker] Docker-compose.yaml 파일 해석 Docker Compose? Docker Compose는 1개 이상의 도커 컨테이너를 생성할 때 사용하는 스크립트 하나를 뜻하며, 컨테이너들의 설정을 관리(컨테이너 실행 순서, 컨테이너 네트워크 등)할 수 있도록 해주는 Docker의 기능 중 하나다. 스크립트는 docker-compose.yaml 이라는 이름의 파일에 컨테이너들의 설정 내용을 입력하면 되고, Docker Compose 서비스를 시작하기 위해서는 yaml 파일이 있는 디렉토리에서 아래 명령어를 입력하면 실행된다. (Docker 서비스가 설치되어 있다는 가정 하에)sudo docker compose up  docker-compose.yaml 파일 해석 yaml 파일은 json이나 xml과 같이 key, value로 구성되며 계층적인 구조를 .. 더보기
[Airflow] Airflow DAG 만들기 & DAG 디렉토리 셋팅 operator와 관련 용어 개념오퍼레이터: 특정 행위를 할 수 있는 기능을 모아놓은 클래스(설계도)Task: 오퍼레이터에서 객체화되어 DAG에서 실행 가능한 오브젝트Bash 오퍼레이터: 쉘 스크립트 명령을 수행하는 오퍼레이터, 이외에도 Python 오퍼레이터 등 다양함. 오퍼레이터를 통해 Task를 만들고, DAG를 통해 각 Task를 실행시킴. Task의 수행 주체는? Airflow의 전체적인 아키텍처는 다음과 같다.1. 스케줄러에서 DAG파일을 파싱2. 스케줄러가 해당 정보를 메타DB에 저장3. DAG의 Start 시간 파악4. Start 시간 도달 시 워커에 DAG 파일에 의한 워크플로우 시작 지시5. 워커는 DAG파일을 읽어들인 후 처리 (실행 전에도 메타 DB에 업데이트)6. 워크플로우 완료 .. 더보기

728x90