1. 개요
도커 클라이언트, 도커 호스트, 도커 레지스트리의 개념을 이해하고, 도커 기본 명령어를 알아보자.
2. 도커 전체 구조
앞서 말한 3개 개념은 도커 전체 구조에 대한 개념이다. 도커는 클라이언트, 호스트, 레지스트리라는 기본 구조를 갖는다.
2.1. 도커 클라이언트
도커에 명령을 내릴 수 있는 CLI 도구이다. 도커 이미지 다운로드, 컨테이너 실행, 중지, 조회 등 도커를 관리할 수 있는 다양한 명령어를 제공한다.
2.2. 도커 호스트
도커를 설치한 서버 혹은 가상 머신을 말한다. 현재 내 PC에 도커를 설치했다면, 도커 호스트는 내 PC이다.
2.3. 도커 레지스트리
도커 이미지를 저장하거나 배포하는 시스템이다. 만약 이미지가 필요하다면 도커 레지스트리로부터 다운받게 된다. 대표적으로 DockerHub(http://hub.docker.com)가 있다. 도커 이미지계의 깃허브라 할 수 있다.
위 홈페이지에 들어간 후 검색창에 원하는 도커 이미지를 검색하고,
상세 정보를 통해 도커 이미지를 다운받을 수 있는 명령어(ex. docker pull redis)를 확인할 수 있다. 이 명령어를 도커 클라이언트를 통해 입력하면 도커 레지스트리를 통해 이미지를 다운받게 된다. 명령어는 도커 호스트에 위치한 도커 데몬이 처리하게 된다.
* 도커 데몬
도커와 관련된 리소스를 관리하는 백그라운드 프로세스이다. 이미지 다운로드 명령어가 입력될 경우 도커 호스트(도커가 설치된 서버)에 도커 이미지 존재 여부를 체크한 후, 이미지가 없을 경우 도커 레지스트리로부터 이미지를 다운받게 된다.
* 도커 이미지
컨테이너 형태로 소프트웨어를 배포하기 위해 필요한 모든 요소(코드, 라이브러리, 설정 등)를 실행할 수 있는 빌드된 패키지이다. 도커 이미지는 독립적이기때문에 의존성을 고려할 필요가 없다.
* 도커 컨테이너
도커 이미지를 실행할 수 있는 인스턴스를 말한다. 도커 컨테이너는 도커 이미지로부터 생성된다. 도커 컨테이너는 자체 파일 시스템을 갖으며 외부와 시스템 리소스를 공유하지 않고 독립적으로 실행된다. 단, OS는 공유한다!
3. 도커 기본 명령어
도커 이미지 다운로드
docker image pull {이미지 이름:태그 이름}
도커 이미지 목록 확인
docker image ls
컬럼명 | 내용 |
REPOSITORY | 이미지 이름 |
TAG | 이미지 태그 |
IMAGE ID | 이미지 ID (로컬 PC에서 할당해주는 ID) |
CREATED | 이미지 생성 시간 |
SIZE | 이미지 크기 |
도커 컨테이너 실행
docker container run {이미지명}
실행중인 도커 컨테이너 리스트 조회
docker container ls
** 컨테이너를 실행했는데 컨테이너 리스트에서 조회가 되지 않아요
docker container run 명령어를 통해 컨테이너를 실행했을때, 해당 컨테이너 내에서 실행되는 프로세스나 서비스가 없을 경우, 컨테이너가 자동으로 종료되기 때문이다. 대표적으로 ubuntu 컨테이너가 이에 해당하며, 컨테이너 내에서 프로세스 실행을 유지시키기 위해 /bin/bash 와 같은 명령어를 함께 입력한다.
이에반에 Redis나 MySQL의 경우 컨테이너 실행 시 백그라운드 서비스가 돌아가기 때문에 자동으로 종료되지 않는다.
모든(정지 상태 포함) 도커 컨테이너 리스트
docker container ls -a
컨테이너 종료
docker container stop {컨테이너 ID}
컨테이너 강제 종료
docker container kill {컨테이너 ID}
컨테이너 삭제
docker container rm {컨테이너 ID}
이미지 삭제
docker image rm {이미지 ID}
'Docker' 카테고리의 다른 글
[Docker] 사전 기초 지식 / 도커 / 컨테이너 / 운영체제 / 프로세스 / (0) | 2025.01.09 |
---|