본문 바로가기

IT/Docker

Docker 기본 명령어

728x90

3. Docker 기본 명령어

3.1 docker --version

docker --version 명령어는 현재 설치된 Docker의 버전을 확인합니다. 이 명령어는 Docker가 제대로 설치되었는지 점검할 때 유용합니다.

사용법:

docker --version

출력 예시:

Docker version 20.10.7, build f0df350

3.2 docker pull

docker pull 명령어는 Docker Hub 또는 지정된 Docker 레지스트리에서 이미지를 다운로드합니다. 이미지는 로컬 시스템에서 사용될 수 있도록 풀(pull)됩니다.

사용법:

docker pull <이미지명>:<태그>

예시:

docker pull ubuntu:20.04

위 명령어는 ubuntu:20.04 이미지를 Docker Hub에서 다운로드합니다.

3.3 docker run

docker run 명령어는 이미지를 기반으로 새로운 컨테이너를 실행합니다. 실행할 때 여러 가지 옵션을 설정할 수 있습니다.

사용법:

docker run [옵션] <이미지명> [명령어]

예시:

docker run -d -p 80:80 nginx

위 명령어는 nginx 이미지를 기반으로 새로운 컨테이너를 백그라운드에서 실행하며, 호스트의 포트 80을 컨테이너의 포트 80에 매핑합니다.

주요 옵션:

  • -d: 백그라운드에서 실행 (detached 모드)
  • -p <호스트 포트>:<컨테이너 포트>: 포트 포워딩
  • --name <컨테이너명>: 컨테이너에 이름을 지정

3.4 docker ps

docker ps 명령어는 실행 중인 컨테이너의 목록을 표시합니다. 기본적으로 현재 실행 중인 컨테이너만 표시되며, 모든 컨테이너를 보고 싶다면 -a 옵션을 사용할 수 있습니다.

사용법:

docker ps
docker ps -a

출력 예시:

CONTAINER ID   IMAGE     COMMAND   CREATED      STATUS     PORTS     NAMES
f1b2d4b8a98b   nginx     "nginx -g 'daemon off;'"   3 minutes ago   Up 3 minutes   0.0.0.0:80->80/tcp   happy_boyd

주요 옵션:

  • -a: 종료된 컨테이너를 포함한 모든 컨테이너 표시
  • -q: 간략한 컨테이너 ID만 출력

3.5 docker stop

docker stop 명령어는 실행 중인 컨테이너를 중지합니다. docker stop은 기본적으로 SIGTERM 신호를 보내어 컨테이너를 종료시키고, 지정된 시간 내에 종료되지 않으면 SIGKILL 신호를 보냅니다.

사용법:

docker stop <컨테이너명 또는 컨테이너ID>

예시:

docker stop happy_boyd

위 명령어는 happy_boyd라는 이름의 컨테이너를 중지시킵니다.

3.6 docker rm

docker rm 명령어는 중지된 컨테이너를 삭제합니다. 컨테이너가 실행 중일 경우 삭제할 수 없으며, 먼저 docker stop으로 컨테이너를 중지해야 합니다.

사용법:

docker rm <컨테이너명 또는 컨테이너ID>

예시:

docker rm happy_boyd

위 명령어는 happy_boyd라는 이름의 중지된 컨테이너를 삭제합니다.

주요 옵션:

  • -f: 강제로 실행 중인 컨테이너를 삭제

3.7 docker rmi

docker rmi 명령어는 Docker 이미지를 삭제합니다. 이미지를 삭제할 때 해당 이미지로 생성된 컨테이너가 존재하면 삭제할 수 없습니다. 이 경우, 먼저 해당 컨테이너를 삭제해야 합니다.

사용법:

docker rmi <이미지명>

예시:

docker rmi nginx:latest

위 명령어는 nginx:latest 이미지를 삭제합니다.

주요 옵션:

  • -f: 강제로 이미지를 삭제

3.8 docker exec

docker exec 명령어는 실행 중인 컨테이너 안에서 명령어를 실행할 수 있도록 해줍니다. 이를 통해 컨테이너 내에서 셸을 실행하거나 다른 명령을 실행할 수 있습니다.

사용법:

docker exec -it <컨테이너명 또는 컨테이너ID> <명령어>

예시:

docker exec -it happy_boyd bash

위 명령어는 happy_boyd 컨테이너에서 bash 셸을 실행하여 해당 컨테이너 내부에 들어갑니다.

주요 옵션:

  • -i: 표준 입력을 활성화
  • -t: 터미널을 할당 (인터랙티브 모드)

3.9 docker build

docker build 명령어는 Dockerfile을 사용하여 이미지를 빌드합니다. 이 명령어는 현재 디렉터리 또는 지정된 경로에서 Dockerfile을 찾아 이미지를 생성합니다.

사용법:

docker build -t <이미지명> <경로>

예시:

docker build -t myapp:latest .

위 명령어는 현재 디렉터리의 Dockerfile을 사용하여 myapp:latest 이미지를 빌드합니다.

주요 옵션:

  • -t: 이미지를 태그 지정
  • -f: 다른 Dockerfile 경로 지정

3.10 docker logs

docker logs 명령어는 컨테이너에서 출력된 로그를 확인할 수 있습니다. 이를 통해 컨테이너 내에서 발생한 오류나 상태를 확인할 수 있습니다.

사용법:

docker logs <컨테이너명 또는 컨테이너ID>

예시:

docker logs happy_boyd

위 명령어는 happy_boyd 컨테이너의 로그를 출력합니다.

주요 옵션:

  • -f: 실시간 로그 출력 (tail -f와 유사)
  • --since <시간>: 특정 시간 이후의 로그만 출력

3.11 docker-compose

docker-compose는 여러 개의 Docker 컨테이너를 정의하고 관리할 수 있는 도구입니다. docker-compose.yml 파일을 사용하여 애플리케이션의 여러 서비스를 설정하고 실행할 수 있습니다.

주요 명령어:

  • docker-compose up: 정의된 서비스들을 실행합니다.
  • docker-compose down: 실행 중인 서비스를 종료하고 삭제합니다.
  • docker-compose build: Docker Compose에서 정의한 서비스의 이미지를 빌드합니다.

예시:

docker-compose up -d

위 명령어는 docker-compose.yml 파일에 정의된 서비스를 백그라운드에서 실행합니다.

'IT > Docker' 카테고리의 다른 글

Docker 주요 개념  (0) 2024.11.18
Docker  (0) 2024.11.18