swagger
아래는 로컬에서 컨테이너를 올려서 테스트할 때 자주 사용하는 Docker 및 Docker Compose 명령어와 그 사용 예시입니다.
- 로컬에서 컨테이너 올리기
예시: • 먼저, 프로덕션용 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
- 실무에서 자주 쓰는 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
- 요약 • 컨테이너 실행 및 테스트: 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 배포까지 원활하게 진행할 수 있습니다. 추가적으로 궁금한 점이나 세부적인 사항이 있으면 언제든 질문해주세요!