1. docker 설치
ㄴ mac 설치 링크
Install Docker Desktop on Mac | Docker Docs
2. docker run 명령 수행 시 일어나는 동작
docker run busybox echo "Hello world"
참고로) 버전 지정 필요 시, 아래 명령어 실행 필요함
docker run <image>:<tag>
3. 간단한 node.js 어플리케이션 실행하기
- http 요청을 받아서, 애플리케이션이 실행중인 머신의 호스트 이름을 응답으로 반환
ㄴ 컨테이너 내부의 호스트 이름을 바라노는데, 이게 스케일 아웃을 할 때 유용하게 사용됨.
ㄴ http 요청이 애플리케이션의 다른 인스턴스 호출함
const http = require('http');
const os = require('os');
console.log("server starting...");
var handler = function(req, res) {
console.log("received req from " + req.connection.remoteAddress);
res.writeHead(200);
res.end("you've hit " + os.hostname() + "\n");
};
var www = http.createServer(handler);
www.listen(8080);
- 이미지로 패키징하기 위해 먼저 dockerfile 생성해야함
ㄴ dockerfile에는 이미지 생성하기 위한 지시사항이 담겨있으며, app.js 파일과 동일 디렉터리에 있어야함.
FROM node:8 # 책에서는 7이지만, warning 발생해 8로 올림
ADD app.js /app.js # 루트 디렉터리에 동일한 이름 추가
ENTRYPOINT ["node", "app.js"] # 이미지 실행 시 수행되어야 할 이미지 명령어 정의 (node app.js)
docker build -t kubia .
이 때, 빌드는 도커 클라이언트가 아닌 도커 데몬에서 이미지 빌드가 진행됨.
3-1. docker 이미지 레이어
참고) 로컬에 저장된 이미지 조회 시,
docker images
4. 컨테이너 이미지 실행
docker run --name kubia-container -p 8080:8080 -d kubia
- kubia 이미지에서 kubia-container 컨테이너로 실행
- 콘솔에서 분리돼(-d) 백그라운드에서 실행됨
- 8080 포트가 컨테이너 8080포트와 매핑
4-1. 명령어
docker ps # 실행중인 컨테이너 목록
docker inspect kubia-container # 상세 정보 JSON 형식으로 리턴
docker stop kubia-container # 컨테이너 중지, 메인 프로세스 중지
docker ps -a # 중지된 컨테이너 포함된 모든 컨테이너 출력
docker rm kubia-container # 컨테이너 삭제
5. 실행중인 컨테이너 내부 탐색
docker exec -it kubia-container bash
-i : 표준입력을 오픈 상태로 유지 -> 셀에 명령어 입력하기 위해 필요
-t : 의사 터미널 할당
6. 도커 허브 레지스토리
Docker Hub Container Image Library | App Containerization
docker tag kubia sootoance/kubia # 허브 올리기전 태그
docker images # 태그 확인
docker login # 최초 시 로그인 필요
docker push sootoance/kubia
반응형
'모음 > [쿠버네티스 인 액션]' 카테고리의 다른 글
[쿠버네티스 인 액션] 3장. 파드 : 쿠버네티스에서 컨테이너 실행 - 파드 소개, 컨테이너의 적절한 구성 w.율곡선생, devops with sina., techworld with nana. (4) | 2024.08.28 |
---|---|
[쿠버네티스 인 액션] 2장. 도커와 쿠버네티스 첫걸음 - 쿠버네티스에 첫 애플리케이션 실행 (0) | 2024.08.25 |
[쿠버네티스 인 액션] 2장. 도커와 쿠버네티스 첫걸음 - 쿠버네티스 클러스터 설치 (0) | 2024.08.24 |
[쿠버네티스 인 액션] 1장. 쿠버네티스 소개 - 쿠버네티스 소개 (0) | 2024.08.16 |
[쿠버네티스 인 액션] 1장. 쿠버네티스 소개 - 컨테이너 기술 소개 w.쿠버네티스 TV, 악분 일상 (0) | 2024.08.15 |