2 minute read

도커란?

  • 애플리케이션을 개발/배포/실행하기 위한 플랫폼
  • 컨테이너를 사용하여 애플리케이션 및 지원 구성 요소 개발
  • 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경 제공
  • 배포 용량과 시간 단축, 성능 손실 최소화

도커 엔진과 도커 데몬(dockerd)

  • 외부에서 Docker API 요청을 받아 Docker 객체와 서비스들을 관리
  • 컨테이너를 생성하고 관리하는 주체
  • 도커 데몬 : 도커 프로세스가 실행되어 입력 받을 준비가 된 상태

도커 클라이언트(docker)

  • 입력된 명령어를 Docker API 형태로 도커 데몬에게 전달
  • 도커 엔진의 수행 결과를 반환 받아 사용자에게 출력

도커 레지스트리(Registry)

  • 도커에서 사용되는 이미지들을 저장하고 공유해주는 원격 저장소
  • 공개 레지스트리(Docker Hub)와 사설 레지스트리 사용 가능

도커 설치

  • 다양한 운영체제에서 사용 가능(리눅스, 윈도우, 맥 OS X)
    • 리눅스를 권장한다고 함. 리눅스 컨테이너 가상화라서..!
  • 설치 및 설정 방법은 운영체제에 따라 조금씩 다르지만, 설치된 이후 사용방법은 동일

-

설치 전 확인
1) 최신 window 버전인지 확인 2) 설치 전에 ‘CPU 가상화 사용’ 확인

  • 작업관리자 > 성능 > CPU 가상화 ‘사용’

Alt text

-

  • Docker Download
  • 위 url로 들어가서 다운로드
  • Windows PowerShell 에서 설치된 docker 버전 확인

Alt text

docker -v

도커 이미지

  • 컨테이너를 만들고 실행하기 위한 읽기 전용 파일(템플릿)
  • 모든 컨테이너는 이미지 기반으로 생성
  • 컨테이너 실행에 필요한 파일과 설정 값 등을 포함

도커 이미지와 컨테이너

  • 컨테이너는 필요한 파일과 설정을 이미지에서 읽기전용으로 가져다 사용하고, 변경된 사항만 컨테이너 계층에 별도 저장
  • 하나의 이미지로 여러 컨테이너에서 사용 가능

Alt text

-

Alt text

생활코딩 영상에서는 이렇게 비유를 해주셨다.
수업 때는 정확한 개념을 쌓는 것보다는 진도를 많이 나가는 게 중요한 건지..
개념 잡을 시간이 너무 부족하다. 반면 생코는 개념만 확실히 알려주니까 좋다.


도커 허브(Docker Hub)

  • 도커에서 공식적으로 제공하고 있는 중앙 이미지 저장소
  • 도커 계정을 가지고 있으면 누구든 이미지 업로드/다운로드 가능
  • 기본적인 리눅스 운영체제부터 웹서버, 데이터베이스, 각종 애플리케이션 등의 다양한 종류의 이미지를 도커 레지스트리에서 내려 받아 컨테이너로 생성

도커 이미지 이름

  • 저장소 이름 생략 시 도커 허브 공식 이미지로 인식
  • 태그는 버전을 나타냄
  • 태그 생략 시 최신 버전(latest)으로 인식

도커 이미지 검색

docker search [이미지명]

docker search tomcat

Alt text


도커 이미지 다운로드

  • 태그를 생략하거나 :latest 입력 시 최신 버전 다운로드
docker pull [저장소이름/]<이미지이름>[:태그]

docker pull tomcat:8.5
docker pull tomcat:latest

-

Alt text

Alt text


다운 받은 이미지 조회

docker images
// tomcat 정보만 조회
docker image tomcat
// 세부 조회
docker image inspect [IMAGE ID]
docker [image] inspect 551e // 이미지 ID를 입력 시 [image] 생략 가능

Alt text


도커 이미지 추출

  • 도커 이미지를 별도의 파일로 저장할 때 사용
docker save -o <파일명> <이미지명>[:태그]

// -o 옵션 : 추출될 파일명을 지정

Alt text


도커 이미지 로드

  • 추출된 파일을 다시 도커 내 이미지로 가져올 때 사용
docker load -i <파일명>

// * -i 옵션 : 로드할 파일명을 지정

Alt text

실습 때는 tomcat image를 추출 -> 삭제 -> 로드 했는데,
난 추출 시 D드라이브의 용량이..없다고해서 alpine으로 해봤다.

Alt text

-

Alt text


도커 이미지 이름 추가

  • 기존 이미지를 새로운 이름으로 추가(이름만 새로 저장)
[기존저장소/]<기존이미지명>[:기존태그]
[새로운저장소/]<새로운이미지명>[:새로운태그]

docker tag tomcat:8.5 mytom:1

Alt text


도커 이미지 삭제

  • 이미지명을 추가(tag)한 이미지를 삭제할 경우 이미지는 삭제되지 않고 이름만 삭제
docker rmi <이미지이름:태그 or IMAGE ID>

docker rmi mytom:1 // 이미지명만 삭제
docker rmi tomcat:8.5 // 이미지 삭제

Categories:

Updated: