[k8s] 2. 도커

ㅎㅈㅈㅇ·2021년 6월 27일

Kubernetes

목록 보기
2/6

도커를 이용해 컨테이너 이미지 다루기

백그라운드 동작 이해

  • 이미지 빌드 과정
    - 도커 클라이언트가 디렉터리의 컨텐츠를 데몬에 업로드
    - 필요한 이미지가 로컬에 저장돼 있지 않은 경우 도커가 이미지를 pull (도커 허브)
    - 새로운 이미지를 빌드 한다
  • 이미지 레이어란
    - 이미지는 하나의 큰 바이너리 덩어리가 아니라 여러 레이어로 구성된다
    - 공유하는 이미지 레이어는 단 한번만 저장됨 (저장된 레이어가 있다면 저장되지 않은 레이어만 다운로드 함)
    - 새로운 이미지 생성 시 여러 레이어를 만들게 된다
    - 새로 생성된 이미지는 로컬에 저장된다
  • 컨테이너 실행 과정
    - 로컬 머신에 실행한 이미지가 저장돼 있는지 확인
    - 이미지가 없는 경우 도커는 레지스트리(도커 허브)로부터 이미지를 pull
    - 도커가 이미지로 부터 컨테이너를 생성 및 명령어 실행

명령어 모음

docker build -t <image> <directory>
- 컨테이너 이미지 생성 
- <directory>의 컨텐츠를 기반으로 이미지를 빌드하라
docker images
- 도커 이미지 리스트
docker run <image>:<tag>
- tag의 default 값은 latest이다
docker run --name <containerName> -p <localPort>:<containerPort> -d <image>
- -d: 컨테이너를 백그라운드에서 실행
- local = 도커 데몬이 실행 중인 곳, DOCKER_HOST 환경 변수로 확인
docker exec -it <containerName> bash
- 컨테이너 내부에서 셸 실행
- -i: 표준 입력을 오픈으로 유지(셸에 명령어 입력)
- -t: 의사 터미널 할당(프롬프트 화면 표시)
docker ps
- 실행 중인 컨테이너 조회
- -a: 중지된 컨테이너도 조회
docker inspect <containerName>
- 상세 정보를 json으로 출력
docker stop <containerName>
- 컨테이너 중지
docker tag <image> <dockerHubId>/<imageName>
- 도커 허브의 규칙에 따라 이미지 태그 지정

쿠버네티스 클러스터

명령어

  • kubectl get nodes
    - 클러스터 노드 조회 (클러스터 동작 상태 확인)
  • kubectl describe node
    - 오브젝트 세부 정보 가져오기

0개의 댓글