일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Gradle
- hadoop
- Storm
- Angular2
- elastic search
- Spring Batch
- Domain Driven Design
- SBT
- Java
- scala
- design pattern
- 도메인주도설계
- 스프링 배치
- spark
- apache storm
- Spring
- hdfs
- 제주
- hibernate
- 엘라스틱서치
- intellij
- nginx
- Clean Code
- Spring Boot
- elasticsearch
- DDD
- Spring XD
- Linux
- Hbase
- docker
- Today
- Total
목록Programming (135)
욱'S 노트
Build your own images 도커 이미지는 컨테이너의 기반이다. docker run을 실행할때마다 어떠한 이미지를 원하는지 기술해야 된다. 이전 섹션에서는 이미 존재하는 이미지를 사용하는 방법에 대해서 알아봤다. 우리는 또한 도커 호스트에 다운로드된 이미지가 저장된다는 것도 알고 있다. 만약 호스트에 이미지에 존재한다면 레지스트리로 부터 다운로드 받지 않는다 : 기본적으로 Docker Hub 레지스트리이다. 이번 섹션에서는 도커 이미지에 대해서 더 많은 것을 알아 볼 것이다.도커 호스트의 이미지 관리하고 사용하기기본 이미지 생성도커허브 레지스트리로 이미지 업로드하기 Listing images on the host 호스트에 있는 이미지를 리스팅하는 걸로 시작해보자. 커맨드는 다음과 같다.$ do..
Run a simple application “Hello world in a container“에서 우리는 docker run 커맨트를 이용해 첫번째 컨테이너를 띄웠다. 우리는 foreground에서 대화형 컨테이너를 실행하였고, 또한 백그라운드에서 분리된 컨테이너를 실행하였다. 이러한 과정중에 몇가지 Docker 커맨드를 배울 수 있었다. docker ps - 컨테이너들의 리스트를 출력docker logs - 컨테이너의 표준 출력을 보여준다.docker stop - 실행중인 컨테이너를 중지한다. Learn about the Docker client 인지하지 못했지만 우리는 이미 도커 클라이언트를 이용하였다. 클라이언트는 단순한 커맨드라인이다. 클라리언트는 각 명령 과 각 명령의 일련의 플래그 및 인자를..
Hello world in a container 그래서 도커의 모든것은 무엇인가? 도커는 컨테이너내에서 어플리케이션을 실행하고 세상을 만들 수 있게 한다. 컨테이너내의 어플리케이션을 실행하는 명령은 다음과 같다. docker run Note: 도커 시스템 설정에 따라 도커 명령에 sudo을 항당 붙어야 할 수 있다. 이러한 것을 피하기 위해 docker라는 유닉스 유저그룹을 생성하고 거기에 유저를 추가하자. Run a Hello world 그냥 따라해보자. $ docker run ubuntu /bin/echo 'Hello world'Hello world 첫번째 컨테이너 구동에 성공했다. 어떤일들이 일어났는지 살펴보자. 먼저 도커 바이너리를 명시하고 실행하고하는 명령을 명시한다. docker run의 조합..
What is MockServer 목서버는 HTTP나 HTTPS를 경유하는 어떠한 시스템을 모킹하기위해서 사용할 수 있다. 목서버는 다음과 같은 일을 할 수 있다.: 어떠한 요청에 예상되는 목 응답을 리턴할 수 있다.예상되는 요청이 왔을때 요청을 포워딩할 수 있다. (i.e. a dynamic port forwarding proxy)요청이 예상한바와 맞을때 콜백을 호출할 수 있다. 요청은 다이내믹하게 생성할수도 있다.요청이 제대로 전송되었는지를 검증할 수 있다. (i.e. as a test assertion) Why use MockServer 목서버는 어떠한 서버나 서비스에 대한 목을 제공한다. 제공하는 프로토콜은 HTTP, HTTPS, REST, RPC이다. 다음과 같은 시나리오에 유용하게 이용할 수 ..
Understand the architecture 도커란 무엇인가? 도커는 개발하고 적재하고 어플리케이션을 실행하기 위한 오픈 플랫폼이다. 도커는 어플리케이션을 더빨리 딜리버리하기 위해서 설계되었다. 도커와 함께라면 인프라스트럭처와 어플리케이션을 분리 할 수 있으며, 인프라스트럭처를 어플리케이션처럼 관리할 수 있다. 도커는 코드를 더 빨리 적재하고, 더 빨리 테스트하고, 더 빨리 디플로이하고 코드를 작성하고 코드를 실행하는 사이클을 더 짧게 만들어준다. 도커는 이러한 일들을 결합된 커널 컨테이너 기술로 제공한다. 이러한 워크플로우와 툴들은 당신의 어플리케이션을 디플로이하고 관리하는 것을 도와준다. 핵심적으로 도커는 컨테이너에 안전하고 독립적으로 거의 모든 어플리케이션을 실행하는 방법을 제공한다. 독립과 ..
Quickstart Docker Engine 이 퀵스타트는 도커 엔진이 동작하도록 설치가 되어있다고 가정한다. 엔진이 설치되었는지를 확인하기 위해 다음과 같은 명령을 수행해보자. $ docker infoContainers: 12Images: 14Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Backing Filesystem: extfs Dirs: 38 Dirperm1 Supported: trueExecution Driver: native-0.2Logging Driver: json-fileKernel Version: 4.0.9-boot2dockerOperating System: Boot2Docker 1.8.2 (TCL 6.4); master :..
이번 섹션에서는 우리가 생성한 리파지토리에 docker-whale 이미지를 태그하고 푸쉬 해보겠다. 이것이 끝나면 우리는 리파지토리로 부터 새로운 이미지를 풀해보겠다. Step 1: Tag and push the image 아직 터미널을 열지 않았다면 터미널을 열어라. 터미널이 오픈되면 당신이 현재 가지고 있는 도커 이미지를 확인해보자. docker images라고 명령을 수행해보자. $ docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEhello-world latest af340544ed62 5 months ago 960 Bdocker/whalesay latest fb434121fc77 8 months ago 247 MB docker-whalesay ..
당신이 어떤 좋은 것을 만들었다면 그것을 공유할 수 있다. 이번 섹션에서는 우리는 공유를 해볼것이다. Docker Hub account가 필요할 것이다. 그러면 당신의 이미지를 푸쉬해서 다른 사람들이 도커에서 실행할 때 사용할 수 있게 할 수 있다. Step 1: 계정 만들기 브라우저에서 도커허브 singup 페이지로 이동하자. 다음과 같은 페이지가 출력될 것이다. singup 페이지에 형식을 채우자. 도커 허브는 무료이다. 도커는 이름, 패스워드 이메일 주소가 필요하다. Signup을 누르자. 도커허브 웰컴페이지가 출력될 것이다. Step 2: 이메일 검증 및 리파지토리 추가하기 어떤것을 허브에 공유하기 전에 이메일이 맞는지 확인할 필요가 있다. 이메일 받은편지함에 가보자. 이메일의 제목이 다음과 같은..
부모-자식 관계는 본질적으로 내포된 모델과 비슷하다. 그러나 차이가 있다면 내포된 오브젝트는 하나의 도큐먼트에 저장되는 반면, 부모-자식에서는 부모와 자식이 완전하게 다른 도큐먼트로 저장된다는 것이다. 부모-자식 기능은 하나의 도큐먼트 타입이 다른 것과 연관되게 해준다. 내포된 오브젝트와 비교한 이점은 다음과 같다. 자식 도큐먼트의 리인덱싱 없이 부모 도큐먼트를 업데이트 할 수 있다.부모와 다른 자식의 영향 없이 자식 도큐먼트를 추가 변경 삭제할 수 있다. 이것은 특히 자식 도큐먼트들이 다수이고 자주 변경되고 추가될때 유용하다.자식 도큐먼트는 검색의 결과로 리턴될 수 있다.엘라스틱서치는 부모와 연관된 자식을 매핑을 유지하고 있어서 쿼리타임에 빠르게 조인할 수 있다. 그러나 이 경우 부모 자식 관계의 한계..
엘라스틱서치에서 하나의 도큐먼트에 대한 생성, 삭제, 업데이트는 atomic하다. 이 의미는 같은 도큐먼트내에 저장된 엔티티에도 동일하다. 예를 들어 우리는 블로그포스트와 그의 코멘트를 하나의 도큐먼트로 저장할 수 있다. PUT /my_index/blogpost/1{ "title": "Nest eggs", "body": "Making your money work...", "tags": [ "cash", "shares" ], "comments": [ { "name": "John Smith", "comment": "Great article", "age": 28, "stars": 4, "date": "2014-09-01" }, { "name": "Alice White", "comment": "More like..