반응형

 

이번 포스팅에서는 Public 망에 있는 Docker-Hub(https://hub.docker.com/) 에 개인용 컨테이너(Container) 이미지(Image) 레지스트리 (Registry)를 만들어 보도록 하겠습니다.

 

이번 포스팅은 다음의 지식이나 환경이 필요합니다.

- Windows, Linux 혹은 Mac 환경에 설치된 Docker Engine

- Docker에 대한 기본 개념

- Docker 기본 명령어

 

Hands on은 다음과 같은 순서로 진행 가능합니다.

 

1. hub.docker.com에 계정 생성(혹은 로그인)

- 웹 브라우저를 통해 http://hub.docker.com 에 접속

- sign in 메뉴를 찾아 클릭

- 계정 생성(Google ID 등과 연동 가능)

- 로그인

 

2. Registry 생성

- 상단의 'Repositories' 메뉴 선택

- 'Create Repository' 버튼 클릭

 

- Hands on 실습을 위해 레파지토리(Repository)명은 'hello'로 입력

- Visibility 옵션은 'public'으로 선택

- 모든 입력/선택이 완료되면 'Create' 버튼 클릭

 

- 레파지토리(Repository) 생성 완료

- 아래 이미지 캡처에 표시한 'docker push sharplee7(사용자계정)/hello:tagname' 이 docker push 명령임

 

 

3. hello.js 어플리케이션 작성

notepad 혹은 vi등을 열어 아래의 hello.js 파일을 작성한 후 hello.js란 이름으로 저장합니다.

var http = require('http');


var handleRequest = function(request, response) {
    console.log('Received request for URL: ' + request.url);
    response.writeHead(200);
    response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);

 

4. Docker Image 생성을 위한 Dockerfile 작성 및 생성

nodepad 혹은 vi등을 열어 아래의 Dockerfile을 작성 후 Dockerfile이란 이름으로 저장합니다.

FROM node:6.14.2
EXPOSE 8080
COPY hello.js .
CMD node hello.js > log.out

 

파일을 저장 했으면 커맨드(Command) 창 (혹은 shell)을 실행시켜 아래의 명령어를 수행해 sharplee7/hello:1.0 이라는 이름의 도커(Docker) 이미지(Image)를 생성하도록 합니다.

※여기서 사용한 sharplee7은 docker-hub의 사용자 계정입니다.

docker build -t sharplee7/hello:1.0 .

 

 

5. 콘솔에서 Docker-Hub 로그인

- 콘솔상에서 docker login 령어를 입력

- 사용자 id 입력

- 패스워드 입력

 

 

6. Docke-Hub에 이미지(Image) push

 

앞서 docker-hub에 레파지토리 생성시 표시되었던 명령어를 참조해서 아래의 명령어를 입력 합니다.

 

docker push sharplee7/hello:1.0

 

 

7. docker-hub로 부터 sharplee7/hello:1.0 이미지 가져오기(pull)

 

docker images를 통해 방금 생성한 이미지가 Local에 있는지 확인 한 후 있다면 docker rmi <image id>를 입력 해 삭제를 합니다.

- docker images <사용자계정>/hello:1.0

- docker rmi <docker image id>

 

이제 docker를 pull 해 오도록 합니다. 여기서 pull을 하면 docker-hub로부터 이미지를 가져옵니다.

 

다시 이미지가 있는지 확인해 보도록 합니다.

 

이미지를 docker-hub에서 받은 것을 확인 하실 수 있습니다.

 

지금까지 Hands on 한 시스템 이미지는 아래와 같습니다.

 

docker hub에 컨테이미지 등록

 

 

이번 포스팅은 여기까지 입니다.

 

감사합니다.

 

반응형

+ Recent posts