2. 도커 엔진

2025. 7. 28. 11:38·도커

도커 엔진 시작하기/종료하기

도커 엔진은 계속 동작 상태로 남아있지만 컨테이너를 실행 중이 아니라면 컴퓨터의 리소스를 거의 차지하지 않으므로 문제가 없다.

  • 도커 엔진은 컴퓨터를 켰을 떄 함께 자동으로 실행할 수 있지만, 컨테이너는 그렇지 않다.
    • 만일 정전과 같이 갑자기 전원이 꺼진다면 컨테이너는 다시 실행시킬 스크립트가 따로 필요하다.

윈도우

  1. 도커 엔진 시작
    • 화면에서 Docker Desktop을 클릭
  2. 도커 엔진 종료

3. 자동 실행 설정

  • 태스크 트레이에서 도커 데스크톱 아이콘을 클릭한 메뉴에서 [Start DockerDesktop when you sign in your computer] 체크

macOS

  1. 도커 엔진 시작
    • 파인더 -> '애플리케이션' 폴더 -> [Docker Desktop] 클릭
  2. 도커 엔진 종료
    • 화면 오른쪽 위에 위치한 상태 막대에서 도커를 클릭 -> 메뉴에서 [Quit Docker Desktop]을 선택
  3. 자동 실행 설정
    • 화면 오른쪽 위에 위치한 상태 막대에서 도커를 클릭 -> 메뉴에서 [Preferences]를 선텍 -> [Start Docker Desktop when you sign in to your computer] 체크

리눅스에서

도커 엔진을 시작/ 종료하려면 root 권한이 필요하다.

  1. 도커 엔진 시작
    • sudo systemctl start docker
  2. 도커 엔진 종료
    • sudo systemctl stop docker
  3. 자동 실행 설정
    • sudo systemctl enable docker

 

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

컨테이너 사용의 기본은 도커 명령이다. 명령 프롬프트 및 터미널 화면에서 프롬프트 뒤에 다음 명령어를 입력한다.

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

docker ~

docker 명령어 뒤에 오는 '무엇을', '어떻게'에 해당하는 부분을 '커맨드'라고 한다.

커맨드는 다시 상위 커맨드와 하위 커맨드로 구성된다. 상위 커맨드가 '무엇을' 하위 커맨드가 '어떻게'에 해당하는 내용을 지정한다.

또 '대상'에는 컨테이너명 또는 이미지명 등 구체적인 이름이 들어간다.

  • docker명령 뒤로 '무엇을' '어떻게' '대상'의 순으로 지정하면 된다
docker container run penguin

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

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

docker 커맨드 (옵션) 대상 (인자)
  • 다만 역사적 이유로 start나 run처럼 'container'를 붙이지 않아도 실행 가능한 명령어가 있으며, 관례상 이쪽을 사용하는 경우가 많다.
docker run

 

옵션

옵션은 - 또는 --으로 시작하는 것이 일반적이지만 - 기호를 붙이지 않는 경우도 있다. 그리고 -나 --중 무엇을 사용하지는 커맨드 작성자의 취향이므로 명확한 기준은 없다.

-d : 백그라운드로 실행할 때

-i, -t: 키보드를 통해 조작하고 싶을 때

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

ex) -dit

 

대상

커맨드와 달리 구체적인 이름을 지정한다. 이름이 penguin인 이미지의 컨테이너를 실행하려면 'container start [옵션] penguin' 명령을 사용한다.

 

인자

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

ex) --mode=1, --style nankyoku

간단한 명령어 사용해 보기

터미널에 docker version 입력하면 버전 정보를 확인할 수 있다

 

 

대표적인 명령어

 

컨테이너 조작 관련 커맨드

 

docker container 하위_커맨드 옵션

하위 커맨드내용생략 가능 여부주요 옵션

하위 커맨드 내용 생략 가능 여부 주요 옵션
start 컨테이너를 실행 O -i
stop 컨테이너를 정지 O 거의 사용하지 않음
create 도커 이미지로부터 컨테이너를 생성 O --name -e -p -v
run 도커 이미지를 내려받고 컨테이너를 생성해 실행함. docker image pull, docker container create, docker container start라는 세 개의 명령을 하나로 합친 것과 같다. O --name -e -p -v -d -i -t
rm 정지 상태의 컨테이너를 삭제 O -f -v
exec 실행 중인 컨테이너 속에서 프로그램을 실행 O -i -t
ls 컨테이너 목록을 출력 *1 -a
cp 도커 컨테이너와 도커 호스트 간에 파일을 복사 O 거의 사용하지 않음
commit 도커 컨테이너를 이미지 변환 O 거의 사용하지 않음

*1: 생략형은 docker ps

 

이미지 조작 관련 커맨드

이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행하는 커맨드이다. 이미지를 대상으로 어떤 일을 할지는 하위 커맨드를 통해 지정한다.

docker image 하위_커맨드 옵션

하위 커맨드 내용 생략 가능 여부 주요 옵션
pull 도커 허브 등의 리포지토리에서 이미지를 내려받음 O 거의 사용하지 않음
rm 도커 이미지를 삭제 *2 거의 사용하지 않음
ls 내려 받은 이미지의 목록을 출력 X 거의 사용하지 않음
build 도커 이미지를 생성 O -t

*2 : 생략형은 docker rmi

 

불륨 조작 관련 커맨드

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

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

 

docker volume 하위_커맨드 옵션

하위 커맨드 내용 생략 가능 여부 주요 옵션
create 볼륨을 생성 X --name
inspect 볼륨의 상세 정보를 출력 X 거의 사용하지 않음
ls 볼륨의 목록을 출력 X -a
prune 현재 마운트되지 않은 볼륨을 모두 삭제 X 거의 사용하지 않음
rm 지정한 볼륨을 삭제 X 거의 사용하지 않음

 

 

 

네트워크 조작 관련 커맨드

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

 

※ 도커 네트워크 : 도커 요소 간의 통신에 사용하는 가상 네트워크

docker network 하위_커맨드 옵션

하위 커맨드 내용 생략 가능 여부 옵션
connect 컨테이너를 도커 네트워크에 연결 X 거의 사용하지 않음
disconnect 컨테이너의 도커 네트워크를 해제 X 거의 사용하지 않음
create 도커 네트워크를 생성 X 거의 사용하지 않음
inspect 도커 네트워크의 상세 정보 출력 X 거의 사용하지 않음
ls 도커 네트워크의 목록을 출력 X 거의 사용하지 않음
prune 현재 컨테이너가 접속하지 않은 네트워크를 모두 삭제 X 거의 사용하지 않음
rm 지정한 네트워크를 삭제 X 거의 사용하지 않음

 

 

 

그 밖의 상위 커맨드

 

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

하위 커맨드 내용
checkpoint 현재 상태를 일시적으로 저장한 후, 나중에 해당 시점의 상태로 되돌릴 수 있다. 현재 실험적 기능이다.
node 도커 스웜의 노드를 관리하는 기능
plugin 플러그인을 관리하는 기능
secret 도커 스웜의 비밀값 정보를 관리하는 기능
service 도커 스웜의 서비스를 관리하는 기능
stack 도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택을 관리하는 기능
swarm 도커 스웜을 관리하는 기능
system 도커 엔진의 정보를 확인하는 기능

 

단독으로 쓰이는 커맨드

상위 커맨드 없이 단독으로 쓰이는 특수한 커맨드가 네 가지 있다. 주로 도커 허브의 검색이나 로그인에 사용되는 커맨드다.

하위 커맨드 내용 주요 옵션
login 도커 레지스트리에 로그인 -u -p
logout 도커 레지스트리에 로그아웃 거의 사용하지 않음
search 도커 레지스트리를 검색 거의 사용하지 않음
version 도커 엔진 및 명령행 도구의 버전 출력 거의 사용하지 않음

 

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

5. 도커 - 컨테이너와 호스트 간에 파일 복사하기  (3) 2025.08.11
4. 도커 - 여러 개의 컨테이너 연동해 보기  (3) 2025.07.31
3. 도커 커맨드 실습하기  (4) 2025.07.29
1. 도커 개념 정리  (0) 2025.07.26
'도커' 카테고리의 다른 글
  • 5. 도커 - 컨테이너와 호스트 간에 파일 복사하기
  • 4. 도커 - 여러 개의 컨테이너 연동해 보기
  • 3. 도커 커맨드 실습하기
  • 1. 도커 개념 정리
masxer
masxer
masxer 님의 블로그 입니다.
  • masxer
    masxer 님의 블로그
    masxer
  • 전체
    오늘
    어제
    • 분류 전체보기 (54)
      • 알고리즘 (7)
      • 코딩 테스트 준비 (34)
        • 문제 (28)
        • 개념 (6)
      • 25-1 여름방학 공모전 프로젝트 (0)
      • 스프링부트 (6)
      • 도커 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
masxer
2. 도커 엔진
상단으로

티스토리툴바