SW-PRODUCT/개발-데이터분석

airflow 삽질일기 - docker 삽질

굴돌 2016. 4. 15. 20:41

airflow를 간단히 써보려는데...

http://pythonhosted.org/airflow/start.html

여기있는 초 간단 버전은 일단 python 버전이 꼬인건지... pip install airflow부터 말썽.


깔끔하게 넘어가려고 docker를 알아봤는데... 이가 간단하지 않네..;; 이틀 삽질.


일단 아래 스크립트 정도면 docker 기본은 문제 없을 듯.



>> docker toolbox
docker-machine ip [ vm_name ] : default로 생성된 virtualbox 가상머신의 ip 확인.


>> docker 실행/종료

docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
docker ps [ -l | -a ]  // top  //
docker logs [ -f ] <ID/NAME>
docker stop <ID/NAME>
docker start <ID/NAME>  : stop 했던것을 그 상태 그대로 다시 띄움.  restart 명령어도 있음. rm 해버리면 start 불가.
docker run -d  (-P | -p 8080:5000) [ --name web ] training/webapp python app.py
docker port <ID/NAME>
docker rm IMAGE

>> docker image 관리
docker images
docker rmi IMAGE

docker kill $(docker ps -q)
docker rm $(docker ps -a -q)

>> 붙었다 떨어졌다
docker attach CONTAINER
ctrl-p ctrl-q
주의!! ctrl-c는 컨테이너 종료시킴!

>> 네트워크 관리 : https://docs.docker.com/engine/userguide/containers/networkingcontainers/

>> docker commit
$ docker run -t -i training/sinatra /bin/bash
root@0b2616b0e5a8:/# gem install json
$ docker commit -m "Added json gem" -a 'stein.park' 0b2616b0e5a8 stein_park/sinatra:v2
ㄴ push 전까지는 local에만 있음.
$ docker tag <IMAGE ID> stein_park/sinatra:devel

추가정보: https://docs.docker.com/engine/userguide/containers/dockerimages/

>> docker 이미지 만들기
docker build xxx
xxx를  d2hub에 올림.
타겟 장비에서 xxx를 docker run으로 실행
$ docker push idock.daumkakao.io/stein_park/my-app:latest

---- Airflow ---
$ docker pull puckel/docker-airflow