k8s - 2. 도커 간단 실습

roon-replica·2022년 10월 13일
0

kubernetes

목록 보기
3/3
  • 참고자료: k8s in action, ch2

실습 순서

  1. 도커 설치, 샘플 컨테이너 실행해보기
  2. k8s에 배포할 샘플 애플리케이션 생성
  3. 애플리케이션을 컨테이너 이미지로 패키징, 실행, 레지스트리에 이미지 push

1. 도커 설치, 샘플 컨테이너 실행해보기

2. 샘플 애플리케이션 생성

const http = require('http');
const os = require('os');

console.log('Kubia server starting...');

var handler = function(request, response){
 console.log('recieved request from' + request.connection.remoteAddress);
 response.writeHead(200);
 response.end('you've hit ' + os.hostname() +'\n');
};

var www = http.createServer(handler);
www.listen(8080);          
  • 위 애플리케이션을 실행하기 위해 Node.js를 별도로 다운로드할 필요가 없다고 함!
    도커로 애플리케이션을 컨테이너 이미지로 패키징하면, 어디에서든 실행가능하기 때문이라고 함..!

3. 컨테이너 이미지로 패키징, 실행

  • 애플리케이션을 이미지로 패키징하기 위해 Dockerfile이라는 파일을 만들어야 한다!
  • Dockerfile docs
FROM node:7 #컨테이너 이미지 설정
ADD app.js /app.js #이미지의 루트 디렉토리에 추가
ENTRYPOINT ["node", "app.js"] #이미지 실행 시 수행할 명령어?
  • 이미지가 빌드되는 과정
    도커파일의 명령을 읽어서 이미지를 빌드한다.
    이미지는 여러개의 레이어로 구성된다고 함.

  • 컨테이너 이미지 빌드, 실행, 이미지 푸시

# m1이라 platform 이슈때문에 실행이 안 된다...
$ docker build -t {생성할 이미지명} {build context 위치(PATH or URL)}
$ docker run --name {생성할 컨테이너명} -p 8080:8080 -d {이미지}

$ docker push {이미지}
profile
집중 ➝ 프로세서↑ 시간 투자 ➝ 디스크↑

0개의 댓글