docker
-
[Docker] - 3. Docker Command 정리개발/Docker 2022. 8. 24. 14:31
Docker command 정리 1. Container check $ docker ps 2. Container Start $ docker start container_id #all container start $ docker start $(docker ps -qa) 3. Container Stop $ docker stop container_id #all container stop $ docker stop $(docker ps -qa) 4. Container Remove -f 옵션을 사용하게 되면 현재 동작중인 Container를 중지시키고 종료시킨다고 하니 status=exited로 처리하여 사용한다. $ docker rm $(docker ps --filter status=exited -q) $ dock..
-
[Kafka] - 17. Docker-compose Kafka 개발환경 구축 및 테스트개발/Kafka 2022. 8. 11. 17:34
1. Docker 설치 Docker부터 설치하여 줍니다. ( 설치 방법은 Docker Category에서 확인하시면 됩니다. ) $ docker -v # Docker version 20.10.17, build 100c701 $ docker-compose -v # Docker Compose version v2.6.1 Docker를 기본으로 하기 때문에 중간에 이해가 안되시면 Docker 개념부터 보시는 것을 추천합니다. 2. Zookeeper, Broker Container 설치 및 실행 이론에서 배운 바와 같이 Zookeeper가 실행 한 후에 Kafka를 실행시켜주어야 합니다. ( 이에 따라 Broker에는 depends_on parameter 추가 참고 ) Zookeeper1,2,3은 12181번 /..
-
[Docker] - Docker-compose개발/Docker 2022. 8. 3. 17:24
Docker-compose 개요 Docker compose란, 여러 컨테이너 서비스를 구축, 실행하는 순서를 자동으로 하여, 관리를 간단히 하는 기능이다. Docker compose에서는 docker-compose.yaml(docker-compose.yml은 우선순위가 후순위) 파일을 실행, 설정을 읽어 들여 모든 컨테이너 서비스를 실행 Docker-compose Process Document를 보게되면, 아래와 같이 정의되어 있다. Define your app’s environment with a Dockerfile so it can be reproduced anywhere. Define the services that make up your app in docker-compose.yml so they..
-
[Docker] - Docker 기본 개념개발/Docker 2022. 7. 21. 18:22
1. Docker란? VM환경과 유사하지만 Container 기반의 가상화 Tool입니다. Container는 실행 환경을 독립적으로 해주며, 실행의 독립성을 확보하여 주는 OS의 격리 기술을 의미합니다. Docker는 LXC(Linux Container)의 개념 을 가져와 사용합니다. LXC는 Namespace + cgroup 기술을 기반으로 만들어진 것입니다. namespace Process를 독립시켜주는 가상화 기술입니다. ( 같은 PID를 가져도 다른 Process ) 독립된 Process PID, IPC, Network, UID, Mount, UTS 가 독립적으로 존재 Cgroup Control Group으로 Hardware resource를 배분하는 기능 독립된 프로세스에 Resource들을 ..
-
[Airflow] - 7. Operator & Xcoms개발/Airflow 2022. 7. 20. 16:43
현재까지 Docker 위에 Airflow + Postgres를 이용하여 연동시켜 DB(Postgres) 적용시켜 보았습니다. 이제는 더 나아가 업비트 Api를 호출하여 비트코인 Postgres에 데이터를 수집하려고 합니다. 각 Task는 1. Table 생성 2. Call Api 3. Store DB 순으로 생각하여 만들었습니다. Airflow Operator는 Python Operator와 Postgres Operator를 두개를 사용하였습니다. 1. What is Xcoms? 들어가기 앞서, Xcoms에 대해 먼저 설명하려고 합니다. a mechanism that let Tasks talk to each other, as by default Tasks are entirely isolated and m..
-
[Postgres] - 1.Docker Volume init개발/Postgres 2022. 7. 18. 16:01
저번에 시간에 배운 Volume이라는 개념을 통하여 실제 Psql에 적용하여 보려고 합니다. 실제 Local 영역에 해당되는 Data들을 저장하여 container가 삭제된 후 실행되어도 이상이 없습니다. 앞써, Volume을 잘 모르시거나 이해가 잘 안되시면 참고하고 오시는게 도움이 됩니다. [Docker]-Volume Psql을 Volume을 만들어 반영 후 Container를 제거해본 다음에 다시 실행 시켜볼 것입니다. 1. Volume 생성 $ docker volume create psql 2. Psql 실행 및 User 생성 제 이름으로 된, User를 하나 만들어주었습니다. pw 자리에 원하시는 password를 입력하시면 됩니다. $ docker run -p 5432:5432 --name p..
-
[Docker] - 4.Volume&Bind Mount개발/Docker 2022. 7. 16. 16:16
Docker Container는 어떻게 동작하며, 어떤 방식으로 저장할 수 있는지를 알아보려고 합니다. 1. Docker Container 생명 주기 아래 그림과 같이 생명 주기를 잘 표현해보인 그림이라 가져와보았습니다. 결국 실행되어서 rm 명령어로 처리하지 않는 이상 Data가 존재합니다. 그렇다면 Container가 삭제되거나 Docker가 종료되거나 다시 시작하게 된다면, 해당 Data들은 어디로 가게 될까요? -> Container와 사라지는 동시에 같이 사라집니다. 그렇기 때문에 Local 환경에 Data를 적용시킬 수 있는 방법을 배우려고 합니다. 2. Docker Stored Data Docker는 어떤 방식으로 Data를 저장할 수 있을까요? 제가 알아본 바에 따르면 현재 2가지를 통해서..
-
[Airflow] - 3. Dags(Python operator)개발/Airflow 2022. 7. 8. 17:36
Dag 파일을 만들어보고 Workflow를 Pythonoperator로 구현하는 예시를 보여드릴 예정입니다. 틀린 내용이 있을 수 있으니 상세한 부분 Document를 참고하시는 것을 추천 드립니다. 1. Dag 생성 Dag file을 생성하기 위해서는 일단 Ubuntu의 Dags 폴더 File을 들어갑니다. 왜 Dag 폴더를 이용하는 가는 실제 Docker Container가 실행되면 dags / logs / plugins 폴더를 Mount 하여 가져갑니다. ( 이부분은 Docker Container를 직접 접속하셔서 /opt/airflow/dags 에 들어가시면 확인 할 수 있습니다. ) 후에 Dag를 만들 Test.py 파일을 만듭니다. $ cd /dags $ sudo vi test.py 이제부터는..