본문 바로가기
DevOps/Docker

[Docker] 기본적인 도커 클라이언트 명령어 알아보기

by BK0625 2023. 12. 20.
반응형

 

저번 포스팅에 나왔던 docker run hello-world 명령어를 뜯어보면 다음과 같다.

 

docker run 이미지 이름(예:hello-world)
도커 클라이언트 언급 컨테이너 생성 및 실행 이 컨테이너를 위한 이미지

 

 

작동 순서는 다음과 같았다.

 

해당 명령어를 도커 클라이언트에 명령어 입력 후 도커 서버로 보낸다. 도커 서버에서는 컨테이너를 위한 이미지가 이미 캐쉬가 되어 있는지 확인하고 없으면 도커 허브에서 다운을 받아오고 있으면 이미 가지고 있는 이미지로 컨테이너를 생성한다.

 

그리고 이미지로 컨테이너를 생성 하는데 먼저 파일 스냅샷 되있는 것을 컨테이너의 하드 디스크 부분에 올리고 시작 커맨드를 이용해서 어플리케이션을 실행한다. 

 

그럼 이미지 내부 파일 시스템 구조를 보기 위한 명령어를 알아보자.

 

docker run 이미지 이름 ls
도커 클라이언트 언급 컨테이너 생성 및 실행 이 컨테이너를 위한 이미지 이 자리에서는 이미지가 가지고 있는 시작 명령어를 무시하고 여기에 있는 커맨드를 실행하게 한다. ls는 현재 디렉토리의 파일리스트를 표출한다.

 

 

 

예를 들어 보자. cmd 창에서 docker run alpine ls 명령어를 실행시켜보자.

 

 

 

 

이 경우 Alpine 이미지를 이용해 컨테이너를 생성하게 된다. 이 때 Alpine 이미지 안에 들어있던 파일 스냇샷들 (bin,dev,etc 등) 이 컨테이너 안에 있는 하드 디스크로 다운로드 되고 이미지 이름 뒤에 다른 명령어를 더 붙여서 원래 이미지 안에 들어있는 기본 커맨드는 무시가 되고 ls 명령어가 실행되게 된다.

 

 

현재 실행 중인 컨테이너 나열

 

현재 실행중인 컨테이너를 나열해보자. 명령어는 docker ps.

 

docker ps

 

 

 

이러면 현재 실행 중인 컨테이너 목록을 볼 수가 있다.

 

해당 컨테이너의 아이디, 이미지, 커맨드, 생성된지 얼마나 되었는지 등도 파악할 수 있다.

 

 

CONTAINER ID 컨테이너의 고유한 아이디 해쉬값. 실제로는 더욱 길지만 일부분만 표출.
IMAGE 컨테이너 생성 시 사용한 도커 이미지
COMMAND 컨테이너 시작 시 실행 될 명령어. 대부분 이미지에 내장 되어 있으므로 별도 설정이 필요 없음
CREATED 컨테이너가 생성된 시간
STATUS 컨테이너의 상태로 실행 중이면 UP, 종료는 EXITED, 일시정지는 PAUSE로 나온다.
PORTS 컨테이너가 개방한 포트와 호스트에 연결한 포트. 특별한 설정을 하지 않은 경우 출력되지 않는다.
NAMES 컨테이너의 고유한 이름. 

 

 

 

NAMES 같은 경우에는 --name 옵션으로 이름을 설정하지 않으면 도커 엔진이 임의로 형용사와 명사를 조합해서 설정한다. id와 마찬가지로 중복이 안되고 docker rename 명령어로 이름을 변경할 수 있다.

 

docker rename original-name changed name

 

 

원하는 항목만 보고 싶으면 format이라는 옵션을 사용하면 된다.

 

docker ps --format table.Names \t table.Image ....

 

 

\t는 탭으로 좀 더 읽기 편하게 탭으로 거리를 벌려준다.

 

꺼져있는 컨테이너도 보고 싶다면 docker ps -a 명령어로 볼 수 있다.

 

반응형