docker
-
Docker onbuild 이미지 이용하기 : rubyContainer 2016. 3. 28. 09:00
루비 시나트라 ruby의 인기있는 프레임워크중 하나인 sinatra를 docker를 이용해서 실행해보자. 우선 Sinatra 프레임워크를 사용하기위한 Gemfile과 Gemfile.lock파일을 아래와 같이 만들자. Gemfile source 'https://rubygems.org' gem 'sinatra' Gemfile.lock GEM remote: https://rubygems.org/ specs: rack (1.6.4) rack-protection (1.5.3) rack sinatra (1.4.6) rack (~> 1.4) rack-protection (~> 1.4) tilt (>= 1.3, < 3) tilt (2.0.1) PLATFORMS ruby DEPENDENCIES sinatra BUNDLE..
-
Docker onbuild 이미지 이용하기 : pythonContainer 2016. 3. 25. 09:00
파이썬 flask 파이썬 flask를 Docker를 이용해서 실행해 보자. Flask 를 사용하기위한 라이브러리를 명시하는 requirements.txt파일을 만들고 아래 내용을 입력하자. Flask==0.10.1 실제 파이썬 hello.py 의 내용은 아래와 같다. from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(host='0.0.0.0') 이제 이 파이썬 프로그램을 실행할 Dockerfile을 만들어 보자. FROM python:2.7-onbuild CMD ["python", "hello.py"] 간단하게..
-
Docker 구조Container 2016. 3. 23. 09:00
Docker 자원격리 Docker는 컨테이너 내부가 호스트 운영체제와 격리되어 독립적으로 운영되게 하기 위해서 리눅스의 네임스페이스(namespace) 기술을 이용한다. 사용자가 컨테이너를 실행하면, 해당 컨테이너에서 사용할 네임스페이스들을 생성한다. Docker가 사용하는 네임스페이스에는 다음과 같은 것들이 있다. pid 네임스페이스 : 프로세스 격리를 위해 사용한다. net네임스페이스 : 네트워크 인터페이스를 관리하기 위해 사용한다. ipc네임스페이스 : IPC(InterProcess Communication, 내부 프로세스 통신)자원에 대한 접근을 관리한다. mnt네임스페이스 : 마운트 지점을 관리하기 위해 사용 uts네임스페이스 : 커널 격리와 버전 식별을 위해 사용 Docker의 각 컨테이너는 ..
-
DockerHub 사용하기Container 2016. 3. 21. 09:00
DockerHub 가입하기 Docker Hub는 Docker 이미지들을 등록하고 공유할 수 있는 서비스다. https://hub.docker.com/에서 계정, 비밀번호, 이메일 만 입력하면 간단하게 가입할 수 있다. 가입을 하지 않더라도 공개된 docker 이미지를 검색하고 다운받아서 사용하는 것에는 문제가 없다. Dockerhub가 제공하는 저장소에는 공개/비공개 2가지가 있는데 공개 저장소는 사용 개수에 제한이 없이 무제한으로 사용할 수 있다. 비공개 저장소는 기본적으로 1개는 무료로 제공해 주지만, 그 이상의 비공개 저장소를 사용하기위해서는 비용을 지불해야한다. 결제 방식은 월결제방식이며https://registry.hub.docker.com/plans/에서 가격 정보를 확인할 수 있다. Dock..
-
Docker ToolboxContainer 2016. 3. 18. 09:00
도커 툴박스(Docker Toolbox)는 윈도우와 맥 OS X에서 도커를 사용하는데 있어 필요한 모든 패키지들을 모아놓은 도구다. 도커 툴박스에는 도커 클라이언트, Compose, Machine, Kitematic, 버추얼박스등이 모두 포함되어 있다. 이전에는 boot2docker가 이 역할을 해줬었지만 도커 툴박스가 나오면서 공식적으로 boot2docker가 아니라 툴박스를 사용하기를 권장하고 있다. 툴박스는 https://www.docker.com/docker-toolbox 웹페이지에서 다운받을 수 있다. 각 OS별로 설치파일을 다운받아서 실행한 다음 필요한 옵션들을 선택해서 설치하면 간단하게 설치할 수 있다. 설치가 끝나면 Docker Quickstart Terminal 아이콘이 생기는데 이걸 실..
-
Docker SwarmContainer 2016. 3. 16. 09:00
도커 스웜은(Docker Swarm) 여러개의 호스트에 있는 Docker 데몬들을 관리할 수 있는 Docker 클러스터링 도구다. 도커 스웜은 도커사에서 제공하는 도구인 만큼 표준 도커 API를 제공하기 때문에 기존에 도커 데몬을 사용하던 외부도구들이 그대로 스웜을 사용해서 여러개 호스트에서 도커를 사용할 수 있다. 다음 과 같은 것들은 바로 스웜을 이용할 수 있다. Dokku Docker Compose Krane Jenkins 스웜에서 제공하는 기능은 다음과 같다. 클러스터 내에서의 CPU, 메모리등의 자원 사용량 제한 지정한 호스트에만 컨테이너를 할당하거나 할당하지 않게 하기 특정 목적의 컨테이너를 하나의 호스트에 몰리지 않게 여러 호스트에 분산되어 배치하거나 하나의 호스트에만 몰아서 배치하기 컨테이..
-
Docker RegistryContainer 2016. 3. 14. 09:00
dockerhub를 이용해서 자신이 만든 docker 이미지를 저장하고 배포할 수 있지만, 필요에 따라 docker 이미지를 저장할 수 있는 저장소를 직접 구축해야할 수도 있다. 이런경우를 위해서 docker는distribution이라는 사설 docker 이미지 저장소 소스를 배포하고 있다. distribution은 원래 docker registry라는 저장소 기능만을 제공하는 프로젝트에 추가로 이미지를 만들고 저장해서 배포하는 기능까지 가지게 되었다. distribution을 사용하려면 docker 버전이 1.6.0 이상이 되어야 한다. 우선 간단하게 registry를 실행해 보자. docker registry는 docker 이미지를 제공하기 때문에 쉽게 테스트 해볼 수 있다. 아래처럼 간단한 dock..
-
Docker MachineContainer 2016. 3. 11. 09:00
도커 머신(Docker Machine)은 사용자의 로컬 컴퓨터, 클라우드 서비스가 제공하는 인스턴스, 원격 서버에 도커 호스트를 구성해 준다. 도커 머신을 이용하면 자동으로 도커를 설치하고 도커 호스트를 만들수 있고, docker 클라이언트를 사용해서 설정한 서버의 도커 호스트에 도커 명령을 실행할 수 있다. 도커 머신 설치 도커 머신(Docker Machine)은 윈도우나 맥 OS X의 경우에는 도커 툴박스를 설치하면 설치된다. 리눅스의 경우에는 직접 바이너리를 받아서 설치할 수 있다. 아래처럼 명령어 한줄이면 설치가 끝난다. curl -L https://github.com/docker/machine/releases/download/v0.5.0/docker-machine_linux-amd64.zip >..