Docker는 컨테이너 기반 애플리케이션 개발 및 배포에 필수적인 도구인데요, 프로젝트를 진행하며 잊어버리기 쉬운 기본 명령어들을 한눈에 정리해두면 정말 유용하답니다.


자주 쓰는 Docker 명령어 정리 시리즈

Docker와 Docker Compose를 활용하면 애플리케이션을 쉽고 효율적으로 컨테이너 환경에서 관리할 수 있습니다.

아래에 소개된 명령어들을 잘 익혀두면, 이미지 빌드부터 컨테이너 실행, 로그 확인까지 다양한 작업을 간편하게 처리할 수 있습니다.


1. Docker 기본 명령어

1.1. 이미지 관련 명령어

  • 이미지 빌드
1
docker build -t <이미지_이름> .

*설명: 현재 디렉토리에 있는 Dockerfile을 기반으로 **<이미지_이름>*이라는 이름의 이미지를 생성합니다.

  • 로컬 이미지 목록 확인
1
docker images

설명: 로컬에 저장된 모든 Docker 이미지를 확인할 수 있습니다.

  • 이미지 삭제
1
docker rmi <이미지_이름>

설명: 사용하지 않는 이미지를 삭제하여 디스크 공간을 확보합니다.


1.2. 컨테이너 관련 명령어

  • 컨테이너 실행
1
docker run [옵션] <이미지_이름>

설명: 지정한 이미지를 기반으로 새로운 컨테이너를 생성하고 실행합니다.

자주 사용하는 옵션:

  • d: 백그라운드(Detached) 모드로 실행
  • p <호스트포트>:<컨테이너포트>: 포트 매핑
  • v <호스트_경로>:<컨테이너_경로>: 볼륨(디렉토리) 마운트
  • -name <컨테이너_이름>: 컨테이너에 이름 부여
  • 실행 중인 컨테이너 목록 확인
1
docker ps

설명: 현재 실행 중인 컨테이너들을 확인할 수 있습니다.

  • 모든 컨테이너(정지된 컨테이너 포함) 목록 확인
1
docker ps -a
  • 컨테이너 중지
1
docker stop <컨테이너_ID 또는 이름>
  • 컨테이너 삭제
1
docker rm <컨테이너_ID 또는 이름>
  • 컨테이너 로그 확인
1
docker logs <컨테이너_ID 또는 이름>
  • 실행 중인 컨테이너 내부 접속
1
docker exec -it <컨테이너_ID 또는 이름> bash

설명: 실행 중인 컨테이너에 접속하여 bash 쉘을 사용, 내부에서 다양한 명령어를 실행할 수 있습니다.


2. Docker Compose 기본 명령어

Docker Compose는 여러 컨테이너를 하나의 설정 파일(docker-compose.yml)로 관리할 수 있는 도구입니다.

아래 명령어들을 사용하여 서비스들을 손쉽게 시작, 중지, 빌드할 수 있습니다.

  • 모든 서비스 실행
1
docker-compose up

옵션:

  • d: 백그라운드 실행
  • -build: 실행 전에 이미지를 새로 빌드합니다.
  • 모든 서비스 중지 및 컨테이너 삭제
1
docker-compose down

설명: 실행 중인 모든 컨테이너와 네트워크, 볼륨 등을 정리합니다.

  • 서비스 이미지 빌드
1
docker-compose build

*설명: **docker-compose.yml*에 정의된 각 서비스의 이미지를 빌드합니다.

  • 실행 중인 서비스 상태 확인
1
docker-compose ps
  • 모든 서비스 로그 확인
1
docker-compose logs

특정 서비스 로그를 확인하려면:

1
docker-compose logs <서비스_이름>
  • 서비스 재시작
1
docker-compose restart

특정 서비스만 재시작하려면:

1
docker-compose restart <서비스_이름>
  • 최신 이미지 Pull
1
docker-compose pull

설명: 원격 저장소에서 최신 이미지를 다운로드합니다.


마무리하며

Docker와 Docker Compose를 잘 활용하면 컨테이너 환경에서 애플리케이션을 보다 효율적으로 관리할 수 있습니다.

이번 포스트에서 정리한 기본 명령어들을 숙지해 두면, 프로젝트 진행 중 필요한 Docker 작업을 훨씬 수월하게 수행할 수 있을 것입니다.

자주 쓰는 명령어 정리 시리즈의 다음 포스트에도 많은 관심 부탁드리며, 여러분의 개발 여정에 도움이 되길 바랍니다!

Happy Dockering!