본문 바로가기

도커

[2] 도커 명령어

도커 명령어의 기본

docker (커맨드) (대상)

 

커맨드는 '무엇을' '어떻게'에 해당한다.

또한 커맨드는 상위 커맨드와 하위 커맨드로 나뉜다.

상위 커맨드가 '무엇을', 하위 커맨드가 '어떻게를 담당한다.

 

docker (상위 커맨드) (하위 커맨드) (대상)

 

상위 커맨드는 'container', 'image'와 같이 (대상)의 종류가 들어가고,

하위 커맨드는 'start', 'stop'과 같이 (대상)을 어떻게 할지가 들어간다.


옵션과 인자

docker (상위 커맨드) (하위 커맨드) (옵션) (대상) (인자)

 

실제 도커를 사용하는 사람들은 위와같이 옵션과 인자도 추가해서 사용한다.

위의 형태가 가장 기본적인 형태라고 보면 된다.

 

예시)

docker container run -d penguin --mode=1

container인 penguin을 -d(백그라운드)로 run(실행)하고 --mode=1로 실행하라.

 


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

컨테이너를 실행하고 싶다면 container run 커맨드를 사용하면 되는데 가끔 상위 커맨드를 생략해도 되는 명령어가 있다. 그냥 run으로 컨테이너를 실행할 수 있고 생략하는 방법으로도 많이 사용한다. 

 

docker container run

 

docker run


옵션

옵션은 세세한 설정을 지정하는 용도로 사용한다.

백그라운드로 실행할 때는 -d, 키보드를 통해 조작하고 싶다면 -i, -t 등이 있다.

옵션은 - 또는 --로 시작하는 것이 일반적이지만 -를 사용하지 않는 경우도 있다.

-나 --에 대한 명확한 사용 기준은 없지만 생략형에는 "-", 그렇지 않을 때는 "--"을 사용하는 경향이 있다.

 

-d

--all

 

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

 

--name penguin

 

-d와 같이 -를 하나 쓰는 옵션은 한꺼번에 모아 쓸 수 있다. -d, -i, -t를 함께 쓰면 다음과 같다.

 

-dit


인자

인자는 대상에 전달할 값을 지정한다. 문자 코드 또는 포트 번호 등을 전달할 수 있다. 그러나 보통 인자는 많이 사용하지 않는다. 옵션과 마찬가지라 - 또는 --로 시작하는 경우가 많다.

 

--mode=1

--style nankyoku


 

컨테이너 생성, 삭제, 실행, 정지

컨테이너를 명령어는 기본적으로 docker run 또는 docker container run 커맨드를 사용한다.

아래에 있는 명령어에는 상위 커맨드 container, image는 생략했다.

 

컨테이너 생성 : docker create

컨테이너 실행 : docker start

이미지 내려받기 : docker pull

docker run은 위에 있는 3개의 기능을 합친 명령어이다.

만약 이미지를 내려받은 상태라면 컨테이너가 실행 될 것이고, 이미지가 없다면 이미지를 내려받은 후 실행한다.

 

docker run (옵션) 이미지이름 (인자)

 

대상에는 사용할 이미지의 이름을 지정한다. 옵션과 인자는 생략 가능하다.

 

(옵션)

--name 컨테이너이름 : 컨테이너 이름 지정

-p 호스트포트번호:컨테이너포트번호 : 포트 번호 지정

-v 호스트디스크:컨테이너디렉터리 : 볼륨 마운트

--net=네트워크이름 : 컨테이너를 네트워크에 연결

-e 환경변수이름=값 : 환경변수 설정

-d : 백그라운드로 실행

-i : 컨테이너에 터미널(키보드) 연결

-t : 특수 키 사용 가능설정

-help : 사용 방법 안내 메세지 출력

 

-d를 사용하지 않으면 실행된 컨테이너가 프로그램의 실행을 끝낼 때까지 터미널의 제어를 차지하여 그다음 명령어를 입력할 수 없는 상태가 된다. 따라서, 한 번만 실행하고 바로 종료되는 컨테이너가 아니면 사용하는 것이 좋다.

 

-i, -t의 경우도 사용하지 않으면 컨테이너 안의 파일 시스템에 접근할 수 없다.

 

컨테이너 정지 : docker stop 컨테이너이름

컨테이너 삭제 : docker rm 컨테이너이름

 

정지, 삭제 커맨드는 옵션이나 인자를 지정하는 경우가 거의 없다.

 

컨테이너를 삭제할 때는 반드시 컨테이너를 정지 후 삭제해야한다. 실행중인 컨테이너는 삭제할 수 없다.


 

컨테이너 목록

컨테이너 목록 출력은 docker container ls인데 container 생략형은 docker ps이다.

 

docker ps (옵션)

 

실행 중인 컨테이너의 목록 출력 : docker ps

현재 존재하는 컨테이너의 목록 출력 : docker ps -a

 

컨테이너 목록을 출력하면 컨테이너의 여러 항목에 대한 정보가 나온다.

 

항목

CONTAINER ID : 컨테이너 식별자로 무작위 문자열 64개가 할당 (앞의 문자열 12개만 보여줌)

IMAGE : 컨테이너 만들 때 사용한 이미지

COMMAND : 컨테이너 실행 시에 실행하도록 설정된 프로그램의 이름 (무시해도 됨)

CREATED : 컨테이너 생성후 경과된 시간

STATUS : 컨테이너 현재 상태 (Up : 실행 중, Exited : 종료된 상태)

PORTS : 컨테이너에 할당된 포트 번호 (호스트 포트 번호 -> 컨테이너 포트 번호 형태로 보여줌, 포트 번호 같으면 뒷부분은 출력하지 않음)

NAMES : 컨테이너 이름

'도커' 카테고리의 다른 글

Ubuntu 서버 설정  (0) 2025.02.27
[3] 도커 컨테이너의 통신  (0) 2024.02.28
[1] 도커(Docker)와 서버  (1) 2024.01.29