posts

Docker 로컬 실행 커맨드 모음

Mar 15, 2025 updated Mar 15, 2025 dockerhttpnextjs

이 글은 프로젝트 붙잡다가 도커 명령어가 자꾸 헷갈릴 때 다시 보기 위한 메모입니다.. 특히 up, down, logs, exec 같은 기본 흐름 위주로 빠르게 찾아볼 수 있게 정리해뒀습니다.

아래는 로컬에서 컨테이너를 올려서 테스트할 때 자주 사용하는 Docker 및 Docker Compose 명령어와 그 사용 예시입니다.

  1. 로컬에서 컨테이너 올리기

예시: • 먼저, 프로덕션용 Compose 파일을 사용하여 컨테이너를 실행할 경우(여기서는 prod.compose.yml을 예로 듭니다):

docker-compose -f docker/prod.compose.yml up --build

•	만약 백그라운드(Detached mode)에서 실행하고 싶다면:

docker-compose -f docker/prod.compose.yml up --build -d

•	컨테이너 중지 및 삭제:

docker-compose -f docker/prod.compose.yml down

  1. 실무에서 자주 쓰는 Docker 명령어

A. 이미지 및 컨테이너 관리 • 이미지 빌드

docker build -t my-image:latest .

•	-t 옵션으로 태그를 지정합니다.

•	컨테이너 실행

docker run -d --name my-container -p 3000:3000 my-image:latest

•	-d : 백그라운드 실행
•	--name : 컨테이너 이름 지정
•	-p : 포트 매핑

•	실행 중인 컨테이너 목록 확인

docker ps

•	모든 컨테이너(종료된 것도 포함)

docker ps -a

•	컨테이너 로그 확인

docker logs my-container

•	실시간 로그를 보려면

docker logs -f my-container

•	컨테이너 내부로 접속 (Interactive Terminal)

docker exec -it my-container sh

•	Alpine Linux의 경우 bash 대신 sh를 사용합니다.

•	컨테이너 정지 및 삭제

docker stop my-container docker rm my-container

•	이미지 삭제

docker rmi my-image:latest

B. Docker Compose 명령어 • 빌드 & 실행

docker-compose up --build

•	-d 옵션 추가 시 백그라운드 실행

•	서비스 재시작

docker-compose restart

•	컨테이너 중지

docker-compose down

•	네트워크, 볼륨까지 삭제하고 싶다면

docker-compose down --volumes --remove-orphans

•	서비스 로그 확인

docker-compose logs

•	특정 서비스 로그만 보려면

docker-compose logs next-app

•	실시간 로그

docker-compose logs -f

•	서비스 상태 확인

docker-compose ps

C. 기타 유용한 Docker 명령어 • 사용하지 않는 리소스 정리

docker system prune -f

•	이미지, 컨테이너, 네트워크, 캐시 등을 정리

•	볼륨 목록 확인

docker volume ls

•	네트워크 목록 확인

docker network ls

•	이미지 내역 확인 (빌드 캐시 포함)

docker history my-image:latest

  1. 요약 • 컨테이너 실행 및 테스트: docker-compose up --build (또는 백그라운드 실행 -d) 명령어를 사용하여, 로컬에서 바로 실행해 볼 수 있습니다. 브라우저에서 http://localhost:3000으로 접속하면 됩니다. • 자주 쓰는 명령어: • 이미지 빌드: docker build • 컨테이너 실행: docker run • 컨테이너 목록: docker ps • 로그 보기: docker logs -f • 컨테이너 접속: docker exec -it • Compose 실행: docker-compose up, docker-compose down, docker-compose logs

이 명령어들을 익히면, 실무에서 컨테이너를 관리하거나 디버깅할 때 큰 도움이 됩니다.

이렇게 정리된 내용과 명령어들을 참고하여, 로컬 테스트부터 EC2 배포까지 원활하게 진행할 수 있습니다. 추가적으로 궁금한 점이나 세부적인 사항이 있으면 언제든 질문해주세요!