본문 바로가기

Server/Ubuntu56

docker에서 crontab 동작 docker container 내에 서비스를 구축하고 나서 crontab으로 스케쥴을 걸어 놓으려고 했는데.. '아뿔사!!!' docker container 내에서 crontab이 동작을 하지 않는다... 몇 몇의 링크를 찾아본 결과 https://www.ekito.fr/people/run-a-cron-job-with-docker/ docker file을 만들때 crontab 까지 함께 만들어서 이미지로 구워주어야 하는 것 같다. 그런데 이렇게 되면 crontab을 수정할 때마다 이미지를 새로 구워야 하기 때문에, 다른 방법을 찾아보기로 했다. 해결책은 의외로 간단했는데, 아래의 명령어를 응용함으로써 해결했다. $> sudo docker exec -it [컨테이너명] /bin/bash docker con.. 2017. 2. 21.
우분투에 cuda 7.5 + nvidia-docker 설치하기 GPU를 사용할 수 있도록 nvidia에서 nvidia-docker를 지원하였는데, 이를 통해 docker 내에 있는 tensorflow에서 GPU 리소스를 사용해서 연산을 수행할 수가 있다. 참고로 nvidia-docker는 linux kernel 3.10 이상, docker 버전 1.9 이상에서만 설치되니 해당 요구사항이 충족되지 않는다면 커널과 docker 버전을 업데이트 하자.아래와 같이 docker를 지웠다가 다시 깔아도 기존에 있던 image와 container는 그대로 유지되니 걱정하지 말자. (실제로 해봄. container는 stop된 상태가 되는데, docker 재설치한 후 각각의 container를 다시 start 시켜주면 된다.) $> sudo apt-get purge docker... 2017. 1. 5.
Docker Compose Docker Compose 개요 하나의 docker container에 하나의 서비스만을 돌린다면 아무 문제가 없지만, 만약에 여러개의 docker container를 이용해서 하나의 서비스를 운영하는 것이라면 이야기가 달라진다.매번 각각의 container를 실행시키는 것은 너무나도 귀찮은일 일 것이다. Docker compose는 docker의 여러 container를 운영하고 정의하기 위한 툴이며, compose 파일을 구성함으로써 이러한 서비스들을 사용할 수가 있다. compose는 기본적으로 3가지 스텝을 가지는데, 1. Dockerfile에 app 환경을 정의한다. ( app을 쉽게 재생산하기 위함)2. docker-compose.yml 내에 앱을 구성하기 위한 service를 정의한다.3. .. 2016. 10. 13.
맥에서 docker daemon start stop 하기 맥에서는 docker를 각각의 virtual machine으로 띄우고 있다. 그래서 docker daemon이란 개념보다는 docker virtual machine이라는 개념이 더 명확하다. 맥에서 docker를 재시작 하고 싶다면 해당하는 virtual machine을 재시작 하면 된다. docker virtual machine 리스트 확인하기 $> docker-machine ls docker stop 하기 $> docker-machine stop [machine-name] docker start 하기 $> docker-machine start [machine-name] 2016. 4. 27.
우분투 Some index files failed to download 에러 우분투 14.04 서버가 새로 도착하여 깔끔하게 apt-get update를 진행하려고 하는데 자꾸 아래와 같은 에러 메시지가 발생한다. Some index files failed to download. They have been ignored, or old ones used instead. 열심히 구글링을 해본 결과.. http://kr.archieve.ubuntu.com 서버가 이상하니 http://ftp.daum.net으로 변경하라는 글을 확인..당장 실행에 옮겼다.일단 /etc/apt 폴더 안에 있는 sources.list 파일을 연 후, kr.archieve.ubuntu.com 주소를 ftp.daum.net으로 바꿔준다. $> sudo vi /etc/apt/sources.listsources.l.. 2015. 10. 28.
docker 기본 사용법 Docker를 설치했다면 이번에는 실제로 Docker를 사용해보자. 나같은 경우에는 spark에 흥미가 있어 spark가 설치된 docker image를 받아와서 설치해보기로 하였다. 우선 spark docker image를 찾기 위해서 docker hub 접속! 따로 가입은 하지 않아도 되며, 위의 빨간 박스의 search에서 spark를 입력하고 검색을 하면 spark와 관련된 docker image들이 리스트로 나타난다. official이 docker hub에서 공식적으로 지원하는 image인데 spark 같은 경우에는 official 이미지가 따로 없는 관계로 3번째 bigdatauniversity/spark를 다운 받기로 하였다. 물론 터미널에서 search 명령을 통해 image들을 찾을 수 .. 2015. 9. 3.
unable to resolve host 에러가 났을 경우 Docker에서 pull로 이미지를 가져오려고 하는데 자꾸 unable to resolve host 란 에러 메시지가 발생한다. 찾아본 결과 host 이름을 변경해서 생긴 문제. 변경된 host 이름을 추가해 주어야 한다. /etc/hosts 파일을 연 후, 아래의 127.0.1.1 옆 부분에 바뀐 이름을 추가해 주면 된다. 127.0.0.1 localhost 127.0.1.1 변경된 호스트 이름 저장 한 후, 다시 pull을 하니 정상적으로 이미지를 가져옴!! 2015. 9. 2.
우분투 14.04에 docker 설치하기 Docker란 리눅스 기반의 시스템들 사이에서 이미지를 배포함으로써 실제 해당 환경을 사용할 수 있는 기능을 해주는 util이다.가령 내가 우분투 14.04 환경에 caffe를 설치한 후, 이미지로 구워서 docker-hub에 올리면 다른 사람들은 그 이미지를 그냥 사용함으로써 실제로 caffe를 직접 설치하지 않아도 caffe가 설치된 환경을 이용할 수가 있다. Docker를 사용하기 위해선 우선 apt-get update와 추가 package를 설치한다. $> sudo apt-get update$> sudo apt-get install linux-image-generic-lts-trusty 그 후엔 시스템 재부팅 $> sudo reboot 이제 실제로 docker를 설치해 보자. curl로 최신 do.. 2015. 9. 1.
mysql index 설정하기 DB에 있는 특정 column을 보다 빠르게 찾기 위해 index를 설정하는 경우가 많다. 대부분 index를 설정하게 되면 DB 내의 btree에 해당 index가 따로 저장되기 때문에 기존의 column 값을 찾을때보다 더욱 빠르게 값을 찾을 수가 있다. 그럼 index를 어떻게 만들어야 할까?대부분의 경우, create table을 하고 pk나 unique key를 설정하게 되면 mysql 내부적으로 index를 잡아준다.만약 그 외의 필드에 대해 내가 index를 추가하고 싶다고 할 경우엔 아래와 같이 명령어를 쓰면 된다. ALTER TABLE [테이블명] ADD INDEX(필드명(크기)); 위와 같이 index를 생성하고 해당 index가 잘 만들어졌는지 확인하고 싶을 경우에는 아래와 같은 명령.. 2015. 7. 21.