[Docker] 도커 명령어

Bam·2025년 6월 11일
0

Docker

목록 보기
2/7
post-thumbnail

Windows 운영체제 기준으로 설명합니다.

명령어를 알아보기 전에 도커 엔진을 실행해야합니다. 지난 포스트에서 설치했던 Docker Desktop 앱을 실행하면 도커 엔진이 실행됩니다.

또는 다음 명령어를 사용합니다. (관리자 권한 필요)

sudo systemctl start docker

설치 과정에서 기본값으로 컴퓨터가 실행되면 백그라운드에서 도커 엔진이 실행되게 설정되어 있습니다. 이 경우는 바로 명령어를 입력할 수 있습니다.


도커 명령어

Subcommands

들어가기전에 잠깐 Subcommands를 알아보고 넘어가겠습니다. 도커 명령어는 다음과 같은 구조를 가집니다.

docker subcommand command [-option] target

보시면 커맨드 앞에 서브커맨드라는 것이 붙습니다.

서브커맨드는 도커 명령어의 조작 대상, 즉 '무엇을'에 해당하는 것을 지정하는 커맨드입니다.

도커 1.13 이전 버전에서는 다음과 같이 단순하게 명령어를 사용했었습니다.

docker run

도커는 컨테이너, 이미지, 볼륨, 네트워크 등이 조작의 대상이 되기 때문에 위와 같이 표기하면 어떤 대상을 조작하게 되는지 관리하기 어려워지는 문제점이 발생하게 되었습니다.

그래서 1.13 버전부터는 Subcommands라는 개념을 도입하여 어떤 리소스에 대하여 어떤 명령이 실행되는지 알 수 있도록 했습니다.

docker container run

물론 구버전 방식도 지원하기 때문에 상위 커맨드가 없는 방식도 사용할 수 있습니다.

docker run

어떤 Subcommands들이 존재하는지 공식 문서에서 확인하실 수 있습니다.
이 포스트에서는 입문 기준으로 설명하기 때문에 자주, 대표적으로 사용되는 몇 가지만 소개드립니다.

컨테이너 조작 명령어 docker container

생략형은 Subcommand를 생략한 명령어입니다. 대부분 Subcommand만 제거하면 되지만 일부 다른 형태의 생략형이 존재하기 때문에 유의해주세요.

docker container 명령어와 같은 형태로 사용합니다.

명령어설명주요 사용 옵션생략형
start컨테이너 실행-idocker start
stop컨테이너 중지docker stop
create이미지로부터 컨테이너 생성--name, -e, -p, -vdocker create
run이미지를 내려받고 컨테이너 생성하여 실행--name, -e, -p, -v, -d, -i, -tdocker run
rm정지 상태의 컨테이너 삭제-f, -vdocker rm
exec실행 중인 컨테이너 내부에서 프로그램 실행-i, -tdocker exec
ls컨테이너 목록 출력-adocker ps
cp도커 컨테이너와 도커 호스트 간 파일 복사docker cp
commit도커 컨테이너를 이미지로 변환docker commit

docker container rundocker image pull, docker container create, docker container start 세 가지 명령을 한 번에 수행하는 명령입니다.

이미지 조작 명령어 docker image

명령어설명주요 사용 옵션생략형
pull외부 리포지토리로부터 이미지를 내려받음docker pull
rm이미지 삭제docker rmi
ls내려받은 이미지 목록 출력생략 불가능
build도커 이미지 생성-tdocker build

볼륨 조작 명령어 docker volume

볼륨은 도커가 생성하는 컨테이너의 영구 데이터 보관 장소입니다. 볼륨에 대해서는 추후에 좀 더 자세하게 알아볼 예정이므로 여기서는 이런 명령어로 볼륨을 조작하는구나 정도만 알고 넘어갑니다.

볼륨 조작 명령어는 생략형 사용이 불가능합니다 반드시 docker volume을 명령어 앞에 붙여주세요.

명령어설명주요 사용 옵션
create볼륨 생성--name
inspect볼륨 상세 정보 출력
ls볼륨 목록 출력-a
prune마운트되지 않는 볼륨 모두 삭제
rm지정된 볼륨 삭제

네트워크 조작 명령어 docker network

네트워크 조작 명령어는 생략형, 옵션을 거의 사용하지 않습니다.

명령어설명
create도커 네트워크 생성
inspect도커 네트워크 상세 정보 출력
ls도커 네트워크 목록 출력
prune컨테이너가 접속되지 않은 네트워크 모두 삭제
rm지정한 네트워크 삭제
connect컨테이너를 도커 네트워크에 연결
disconnect컨테이너의 도커 네트워크 연결 해제

단독 명령어

단독 명령어는 Subcommand 없이 단독(docker 명령어)으로 사용하는 명령어로 다음 네 가지 명령이 있습니다.

명령어설명주요 사용 옵션
login도커 레지스트리에 로그인-u, -p
logout도커 레지스토리에서 로그아웃
search도커 레지스트리 검색
version도커 엔진, 명령줄 도구 등의 버전 출력

명령어 옵션

명령어 옵션은 명령어에 붙여 명령어에 부가 동작을 지시하는 지정자입니다. 옵션은 선택사항입니다.

docker subcommand command -option

주로 사용되는 그리고 위에서 소개됐던 옵션들은 다음과 같은 의미를 갖습니다.

옵션설명
-help명령어의 사용 방법 출력
-i표준 입력을 활성화하여 컨테이너와 상호작용 가능하게 함
-t가상 터미널을 할당하여 셸 인터페이스 제공
-it-i-t를 함께 사용 (상호작용 가능한 셸 접속)
-d컨테이너를 백그라운드 모드로 실행
--name컨테이너에 사용자 지정 이름을 부여
-e환경 변수 설정
-p호스트 포트와 컨테이너 포트를 매핑
-v호스트와 컨테이너 간의 디렉토리(또는 볼륨) 마운트
-u컨테이너에서 명령을 실행할 사용자 또는 UID 지정
-a입출력 스트림 연결 설정 (stdin, stdout, stderr)
-f로그 팔로우,Dockerfile 지정

0개의 댓글