도커(Docker) 입문 가이드

김현우·2025년 3월 17일
post-thumbnail

1. 컨테이너 이미지의 개념

컨테이너 이미지는 말 그대로 컨테이너를 만들기 위한 설계도입니다.
우리가 소프트웨어를 실행할 때 필요한 OS, 라이브러리, 코드, 설정파일 같은 걸 다 포함하고 있음.

이 이미지를 기반으로 컨테이너를 실행하면, 마치 가상 머신처럼 작동하지만 훨씬 가볍고 빠르게 돌아갑니다.

쉽게 말하면?

  • 이미지: 설계도 (read-only)
  • 컨테이너: 이미지로 찍어낸 실행 중인 인스턴스 (read-write)

2. 도커 설치

운영체제에 따라 설치 방법이 다르지만, 가장 간단한 방법은 Docker 공식 홈페이지에서 설치

macOS

brew install --cask docker

설치 후, 런치패드에서 Docker를 실행하세요. 고래 아이콘이 활성화되면 준비된거임


3. 이미지 다운로드, 조회, 삭제

이미지 다운로드 (pull)

docker pull ubuntu
  • pull은 “끌어오다”란 뜻, 즉 이미지를 Docker Hub에서 가져오는 명령어다.

이미지 목록 보기 (images)

docker images
  • images는 현재 내 컴퓨터에 저장된 도커 이미지 목록을 보여줌.

예시 출력:

REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       latest    abc12345def6   2 days ago     77MB

이미지 삭제 (rmi)

docker rmi ubuntu
  • rmiremove image의 줄임말임.

4. 컨테이너 생성, 실행

생성과 실행을 한 번에! (run)

docker run -it ubuntu
  • run: 이미지를 기반으로 컨테이너를 만들고 실행
  • -i: interactive 모드, 즉 입력 가능
  • -t: 터미널을 열어줌
    → 보통 -it 같이 붙여서 bashsh로 접속할 때 씀.

예시: bash 쉘에서 Ubuntu 컨테이너 사용하기

docker run -it ubuntu bash

백그라운드로 실행 (detach)

docker run -d --name myweb nginx
  • -d: detach의 약자, 백그라운드로 실행함
  • --name: 컨테이너 이름을 직접 지정할 수 있음

5. 컨테이너 로그 조회

컨테이너 안에서 일어난 일들을 확인하고 싶을 때 logs 명령어를 사용함.

docker logs myweb
  • logs는 로그를 그대로 출력해줌.
  • myweb은 실행 중인 컨테이너 이름
docker logs -f myweb
  • -f: follow, 로그를 실시간으로 계속 확인함 (tail -f 처럼)

6. 실행중인 컨테이너 내부 접속하기

이미 실행 중인 컨테이너 안으로 직접 들어가고 싶을 땐 exec 명령어를 사용.

docker exec -it myweb bash
  • exec: 컨테이너 안에서 명령을 실행함
  • -i -t: 역시 인터랙티브 터미널
  • bash: bash 쉘로 접속

만약 bash가 없고 sh만 있다면?

docker exec -it myweb sh

컨테이너 안에 진입하면, 마치 리눅스 서버에 ssh 접속한 것처럼 조작 가능!


전체 요약

명령어풀네임 / 의미설명
pullpull image이미지를 Docker Hub에서 끌어오기
runrun container컨테이너 생성 + 실행
-iinteractive입력 허용 (stdin 열기)
-ttty터미널 모드 사용
-ddetach백그라운드로 실행
logslogs로그 확인
execexecute컨테이너 안에서 명령 실행
rmiremove image이미지 삭제
images(복수형) image 목록 보기로컬에 저장된 이미지 리스트 확인

0개의 댓글