docker desktop
192
작성한 질문수 6
안녕하세요 실습 진행 중 wsl을 이용해서 가상공간에서 작업을 진행하시는 것 같은데 도커데스크탑을 깔고 그 안에서 이미지들을 다운받는 식으로 작업을 하는 것과 차이가 있을까요?
제가 알기로는 터미널에서 코드 쳐서 다운 받는 것과 도커데스크탑에서 이미지 찾아서 다운 받는 것과의 차이는 없는 걸로 알고 있어서요
혹시 wsl로 작업을 하지않고 컴퓨터 두 대로 진행하려면 어떻게 해야될까요? 같은 네트워크에 있는 상태 입니다.
답변 3
0
답변감사합니다.
혹시 실습은 airflow 2.7 버전에서 진행이 되는데
현재 공식문서에는 2.10버전으로 올려져 있는데 호환에 있어서는 크게 상관은 없을까요? 파이썬 버전은 3.9 입니다
0
airflow 2.9 버전부터 공식적으로 파이썬 3.12를 지원하기 시작했습니다.
2.10으로 학습하셔도 될 것 같고, 파이썬은 3.12를 준비해주세요.
어쨌든 airflow 2.10으로 설치해도 아마 실습에서 다룬 내용이 안되는 것은 없을 겁니다.
조만간 airflow 버전업 되면서 바뀐 내용들 위주로 airflow 강의 내용을 업데이트할 예정입니다.
감사합니다.
0
안녕하세요 kosa 님
도커 데스크탑도 내부적으로는 WSL을 필요로 합니다. 그래서 어차피 WSL을 필요로 한다면, 그냥 WSL에서 작업하는게 나을 듯하여 그렇게 진행을 했습니다. 현업에서 Airflow를 셋업한다면 100% 리눅스 환경을 사용합니다. (그리고 제가 윈도우 도커 데스크탑에 익숙하진 않았습니다 ^^)
어쨌든 도커 데스크탑을 이용해 컨테이너가 잘 올라오기만 하면 실습하는데 상관은 없습니다.
그리고 컴퓨터 2대로 진행하려면... 각종 컴포넌트를 어떻게 배치할 것인지는 설계하기 나름입니다. Celery Executor를 사용할 경우 필요한 컴포넌트는 아래 5개 입니다.
(1) Scheduler
(2) Worker
(3) Web server
(4) DB(Postgres or Mysql)
(5) Redis (Queue)
(6) Triggerer
(7) Flower
※ (6), (7)은 필수는 아니어서 안올려도 됩니다.
필수로 올려야 할 요소는 1부터 5까지 5개의 컴포넌트인데, 현재 실습환경에서는 모두 하나의 노드에 올라오는 구조입니다. 만약 Kosa님께서 (1), (2),(3) 은 컴퓨터 1에 올리고
(4), (5)는 컴퓨터2에 올렸을 때 상호간에 접근할 수 있도록 설정만 하실 수 있다면 분산해서 올려도 상관없습니다.
중요한 것은 동일한 airflow.cfg (Airflow 설정파일)을 바라보고 올라오도록 하고 다른 노드에 있는 컨테이너에 상호 접속할 수 있도록 하는 것입니다. 그것만 되면 어떤 구성이든 상관없어요. (1)(3)(5)는 컴퓨터1에, (2)(4)는 컴퓨터2에 있어도 상관없다는 말입니다.
강의 섹션 16부분에 해당 내용을 조금 다루긴 했습니다. 이 부분을 먼저 보셔도 좋긴한데, 이런 구성은 Airflow를 이해하지 않으면 조금 어려울거에요.
그럼 새해복 많이 받으시고, 궁금한건 또 물어보세요 ^^
0
안녕하세요, 인프런 AI 인턴입니다. kosa.share05님.
Docker Desktop을 이용하여 도커 이미지를 다운로드하고 실행하는 것과 WSL(Windows Subsystem for Linux) 환경에서 터미널을 통해 직접 이미지를 관리하는 것은 기능적으로 큰 차이가 없습니다. 두 방식 모두 Docker의 컨테이너 기술을 활용해 애플리케이션을 격리된 환경에서 실행할 수 있습니다.
다만, 사용 시 약간의 차이가 있을 수 있습니다:
- Docker Desktop: GUI를 통해 시각적인 관리가 가능하여, 이미지와 컨테이너 관리가 쉽습니다. 초보자에게 더 친숙할 수 있습니다.
- WSL: 터미널에서 명령어를 통해 설정 및 관리가 이루어져, 좀 더 리눅스에 익숙한 사용자에게 유리할 수 있습니다.특히 Windows와 리눅스의 파일 시스템 간의 차이를 이해하는 데 도움이 될 수 있습니다.
컴퓨터 두 대로 진행하려면, Docker 환경을 양쪽 컴퓨터 각각 설정한 후, 같은 네트워크에서 상호작용할 수 있도록 구성이 필요합니다. 여기서는 두 컴퓨터가 동일한 네트워크에 연결되어 있으므로, 네트워크로 연결된 상태에서 다음을 고려할 수 있습니다:
- 네트워크 설정: 두 컴퓨터가 같은 네트워크에 있다면, Docker가 사용하는 포트를 열어주고 상호작용할 수 있도록 설정합니다.
- 공유 설정 및 볼륨: Docker에는 데이터 공유를 위한 볼륨과 네트워크 기능이 있습니다. 이는 여러 Docker 인스턴스 간 데이터를 쉽게 연결하거나 공유할 수 있도록 해줍니다.
- Docker Swarm 또는 Kubernetes: 여러 호스트 간에 도커 컨테이너를 오케스트레이션하려면 Docker Swarm 또는 Kubernetes와 같은 도구를 사용할 수 있습니다.
위 방법들을 통해 두 대의 컴퓨터가 효과적으로 협업할 수 있도록 환경을 구성할 수 있습니다.
관련 질문에 구체적인 추가 정보를 원하시면 다음 질문 URL을 참고하시면 도움이 될 것입니다:
- 맥북으로 실습 진행이 가능한지 궁금합니다.: 이 질문에서는 다양한 환경에서 Docker를 사용하는 법과 버전 관리 등 Mac 사용자의 실습 방법을 안내하고 있습니다.
- docker-compose.yaml 파일 관련 질문: Docker Compose를 사용한 환경 구성과 관련한 실용적인 조언을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
pykrx 회원제 전환으로 인한 실습 불가
0
114
2
수료증 발급
0
84
3
에러 발생 관련 질문드립니다.
0
83
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
69
2
plugins 폴더 생성
0
76
2
WSL에서 git push 가 안되요 ㅠ
0
115
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
67
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
738
2
설치중인데 venv를 꼭 써야할까요?
0
126
2
설치 버전 관련 질문입니다.
0
68
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
62
1
DAG 만들기 중 airflow 패키지 로드 에러
0
106
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
95
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
76
3
email operator 오류 관련
0
66
2
plugins 폴더 관련
0
100
2
bash operator 관련 문의입니다
0
78
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
79
2
Dags refresh 주기 관련 질문
0
125
2
wsl 관련 질문입니다.!
0
75
2
macOS에서 docker 설치
0
94
2
템플릿 변수에 대한 오류
0
61
2
custom_image 디렉토리 문의드립니다.
0
54
2
ETL 인터뷰 관련 문의
0
103
2





