본문 바로가기
책곡책곡/그림과 실습으로 배우는 도커 & 쿠버네티스

CHAPTER 4-1. 컨테이너의 기본적인 사용 방법

by 몌으니 2024. 11. 9.
그림과 실습으로 배우는 도커 & 쿠버네티스 (위키북스)

4장 - 컨테이너를 실행해 보자

도커 엔진은 컴퓨터를 켰을 때 함께 자동으로 실행할 수 있지만, 컨테이너는 그렇지 않다.

컨테이너의 기본적인 사용 방법

컨테이너 사용의 기본은 도커 명령어

컨테이너를 다루는 모든 명령은 'docker' 명령어로 시작한다.

  • 커맨드 : docker 명령어 뒤에 오는 '무엇을', '어떻게'에 해당하는 부분
  • 커맨드는 상위커맨드 + 하위 커맨드
    • 상위 커맨드 : 무엇을
    • 하위 커맨드 : 어떻게
  • 대상 : 컨테이너명 또는 이미지명 등 구체적인 이름 지정

docker 명령 뒤로 '무엇을', '어떻게', '대상' 의 순으로 지정한다.

 

도커 명령어의 기본

docker 커맨드 대상

이름이 penguin인 이미지를 실행

 

 

 

상위 커맨드는 container 또는 image와 같이 대상의 종류가 들어간다. 딱 12종류 뿐!

 

명령어의 기본적인 형태는 docker [커맨드] [대상] 이지만 커맨드에는 '옵션'과 '인자'라는 추가 정보가 붙는다.

container run 커맨드에 -d라는 옵션을, penguin을 대상으로 --mode=1 이라는 인자를 붙이면 다음 명령어가 된다.

옵션과 인자를 붙인 명령어

 

-d는 '백그라운드로 실행하라', --mode=1은 '모드 1로 실행하라'는 의미이다.

docker 명령어의 기본적인 형태

 

'docker 커맨드 대상' 이라는 형태가 기본이고, 여기에 커맨드에 옵션이 붙거나 대상에 인자가 지정되는 경우도 있다.

 

커맨드(상위커맨드/하위커맨드)

container를 붙이지 않아도 실행 가능한 명령어가 있으며, 관례상 이쪽을 사용하는 경우가 많다.

dockert container run > docker run (생략 가능)

 

옵션

커맨드에 세세한 설정을 지정하는 용도로 쓰임.

커맨드의 실행 방법 또는 커맨드에 전달할 값을 지정한다.

옵션은 커맨드에 따라 달라진다.

- 또는 --으로 시작하는 것이 일반적이지만 - 기호를 붙이지 않는 경우도 있다. (무엇을 사용할지는 커맨드 작성자의 취향)

커맨드에 어떤 값을 전달하고 싶다면 --name 같은 옵션 뒤에 옵션의 값을 지정한다.

 

--name 옵션 값의 예

--name penguin

 

-d와 같이 -를 하나만 사용하는 옵션은 한꺼번에 모아서 쓸 수 있다. 

-d, -i, -t를 합쳐 -dit로 쓸 수 있다.

 

대상

커맨드와 달리 구체적인 이름을 지정한다. 

container start [옵션] penguin 

 

인자

대상에 전달할 값을 지정한다. 

문자 코드 또는 포트 번호 등을 전달할 수 있다. 단, 인자를 지정하는 경우는 많지 않다.

 

컨테이너 조작 관련 커맨드(상위 커맨드 container)

컨테이너를 실행하거나 종료하고, 컨테이너 목록을 확인하는 등 컨테이너를 다루기 위해 사용하는 커맨드다.

컨테이너를 대상으로 어떤 일을 할지는 하위 커맨드를 통해 지정한다.

생략이 가능하기도 한데, 생략 가능 커맨드는 docker 하위_커맨드와 같이 실행한다.

  • start, stop, create, run, rm, exec, ls, cp, commit


이미지 조작 관련 커맨드(상위 커맨드 image)

이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행하는 커맨드다.

이미지를 대상으로 어떤 일을 할지는 하위 커맨드를 통해 지정한다.

  • pull, rm, ls, build

 

볼륨 조작 관련 커맨드(상위 커맨드 volume)

볼륨 생성, 목록 확인, 삭제 등 볼륨(컨테이너에 마운트 가능한 스토리지)과 관련된 기능을 실행하는 커맨드다.

볼륨을 대상으로 어떤 일을 할지는 하위 커맨드를 통해 지정한다.

볼륨은 컨테이너와 호스트 시스템 간에 데이터를 공유하고 지속성을 유지하기 위한 저장소이다.

볼륨을 사용하면 컨테이너가 삭제되거나 재시작되더라도 데이터를 보존할 수 있다. 좀 더 쉽게 설명하자면 컨테이너 전용 하드디스크라고 생각하면 된다.

  • create, inspect, ls, prune, rm 

 

네트워크 조작 관련 커맨드(상위 커맨드 network)

도커 네트워크의 생성, 삭제, 컨테이너의 네트워크 접속 및 접속 해제 등 도커 네트워크와 관련된 기능을 실행하는 커맨드다.

도커 네트워크란 도커 요소 간의 통신에 사용하는 가상 네트워크를 가리킨다.

  • connect, disconnect, create, inspect, ls, prune, rm

 

그 밖의 상위 커맨드

  • checkpoint, node, plugin, secret, service, stack, swarm, system

대부분 *도커 스웜과 관련된 커맨드로서 초보자 수준에서는 사용할 일이 아직 없다.

(* 도커 스웜은 도커 컨테이너를 클러스터로 관리하고 조정하는 오케스트레이션 툴이다. 여러 도커 호스트를 하나의 가상 호스트처럼 묶어 컨테이너를 자동 배포하고 관리할 수 있도록 도와준다.)

 

단독으로 쓰이는 커맨드

상위 커맨드 없이 단독으로 쓰이는 특수한 커맨드 4가지.

주로 도커 허브의 검색이나 로그인에 사용되는 커맨드다.

  • login, logout, search, version