50% 할인 모든 계획, 제한된 시간. 시작 시간 $2.48/mo
9분 남음
개발자 도구 및 DevOps

Docker Compose 로그에 대한 쉬운 가이드: 확인 및 관리 방법

에이다 러브굿 By 에이다 러브굿 9분 읽기 2025년 2월 23일 업데이트됨
도커 로그

Docker 앱이 뒤에서 무엇을 하는지 알고 싶으십니까? 컨테이너의 모든 움직임을 보여주는 로그라고 하는 비밀 창에 대해 자세히 알아보세요. 로그는 문제를 해결하는 데 큰 도움이 됩니다. 하지만 시작하기 전에 Docker와 Docker Compose가 무엇인지 간단히 살펴보겠습니다.

Docker를 사용하면 애플리케이션을 작은 컨테이너에 패키징하고 종속성 없이 대부분의 운영 체제에서 실행할 수 있습니다. 이는 어디에서나 동일한 방식으로 실행될 수 있는 컨테이너라는 작은 상자에 앱을 넣는 것과 같습니다. Docker Compose를 학습하려면 컨테이너에 대해 아는 것이 중요한 전제 조건입니다. 따라서 먼저 당사 블로그를 읽어보시기 바랍니다. 컨테이너화의 이점.

Docker Compose는 Docker와 함께 제공되며 서비스, 네트워크 및 스토리지를 연결하여 여러 컨테이너화된 애플리케이션 개발을 단순화합니다. Docker 컨테이너 로그와 Docker Compose 로깅은 개발자가 각 컨테이너의 기능을 확인하는 데 도움이 됩니다.

그렇다면 Docker Compose Logs가 궁금하신가요? 당신은 바로 이곳에 있습니다. 이 블로그에서는 Docker Compose 로그의 기본 사항을 설명하고 고급 세부 정보를 다룹니다. 프로젝트에 Docker Compose를 최대한 활용하는 방법을 알아보세요.

Docker Compose 로그의 중요성

개발자가 Docker를 사용하여 앱을 시작하지만 Docker 로그 설정을 건너뛴다고 상상해 보세요. 처음에는 모든 것이 괜찮아 보입니다. 하지만 곧 사용자가 오류를 발견하고 앱 속도가 느려집니다. Docker 로그가 없으면 개발자는 Docker 컨테이너 내부에서 무엇이 잘못되었는지 확인할 수 없습니다. Docker Compose 로그는 이러한 컨테이너에 대한 자세한 기록과 같습니다. 발생하는 모든 세부 사항을 기록하므로 나중에 문제를 찾아 해결하는 데 중요합니다.

개발자 또는 시스템 관리자로서 귀하는 다중 체인 애플리케이션 내부와 애플리케이션 사이에서 어떤 일이 발생하는지 이해해야 합니다. 여기에서 Docker Compose 로그가 편리한 도구 역할을 합니다. 그렇다면 이러한 로그가 왜 필요한가요?

  • 문제 해결 및 디버깅

애플리케이션이 올바르게 실행되지 않거나 오류가 발생한 경우 Docker 로그를 확인하세요. Docker 로그는 문제를 추적하기 위해 확인할 수 있는 첫 번째 리소스입니다. 개발자는 Docker 로그를 검사하여 코드 버그, 구성 오류, 리소스 문제 등 문제의 근본 원인과 소스를 정확히 찾아낼 수 있습니다.

  • 애플리케이션 상태 모니터링

애플리케이션 로그를 정기적으로 모니터링하면 서비스의 전반적인 상태를 이해하는 데 도움이 됩니다. 로그는 반복되는 오류 및 느린 응답과 같은 조기 경고 신호를 나타낼 수 있습니다. 이러한 패턴을 조기에 관찰하면 향후 발생할 수 있는 문제를 예방할 수 있습니다.

  • 감사 및 규정 준수

특정 표준을 따라야 하는 애플리케이션의 경우 Docker 로그는 애플리케이션이 지침을 준수하는지 여부를 보여주는 첫 번째 증거입니다. 또한 이러한 로그는 승인되거나 승인되지 않은 활동을 모니터링하는 데 필수적인 역할을 합니다.

  • 최적화

로그는 성능 데이터를 제공하여 소프트웨어 최적화를 위한 귀중한 리소스입니다. 예를 들어 개발자는 느리게 실행되는 쿼리, 비효율적인 코드 경로 또는 활용도가 낮은 리소스를 식별할 수 있습니다.

Docker 레시피 작성: 웹 서버 배포

이 섹션에서는 Docker 레시피를 함께 만드는 방법을 살펴보겠습니다. 먼저 Docker Compose 로그로 여정을 시작하기 위한 무언가를 구축해야 합니다. 이를 위해 웹 서버를 배포해 보겠습니다. Dockerfile을 만들려면 다음을 실행하세요. 나노 도커파일 다음 내용을 VPS의 원하는 폴더에 넣은 다음 저장합니다.

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

그렇다면 이 코드의 각 줄은 무엇을 수행합니까?

  • 가벼운 베이스부터 시작해서, nginx:알파인.
  • 다음으로 Nginx의 기본 시작 페이지를 지웁니다.
  • 그런 다음 웹 서버가 포트에서 수신 대기하고 있는지 확인합니다. 80.
  • 마지막으로 Nginx 서버를 실행합니다. 명령.

이제 Dockerfile이 준비되었습니다. Docker Compose 파일을 생성하는 다음 단계로 넘어갑니다. 구조는 이렇습니다 docker-compose.yml 파일:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

각 부분을 완전히 이해하기 위해 분해해 보겠습니다.

  • 우리는 버전을 사용하고 있습니다 3.8.
  • 다음 줄에는 서비스 이름을 ''로 지정합니다.편물“.
  • 그런 다음 Docker에게 현재 폴더에서 웹 서버를 구축하도록 지시합니다.
  • 웹 서버가 연결을 설정할 수 있도록 호스트의 포트 8080을 컨테이너의 포트 80에 연결합니다.
  • 마지막으로 볼륨 구성 맵 index.html 호스트 디스크에서 컨테이너로. 나중에 index.html 원하는 콘텐츠를 파일로 만들어서 해당 위치에 배치하세요. 도커파일 그리고 docker-compose.yml 파일이 존재합니다.

이제 Docker Compose를 사용하여 Docker 컨테이너를 실행할 차례입니다. 간단하게, 우리는 실행합니다 도커 작성.

Docker Compose로 Docker 컨테이너 실행

일단 실행하면 도커 작성 명령을 실행하면 Docker는 인터넷에서 필요한 이미지를 다운로드하고 구성 파일의 지침에 따라 구성합니다.

웹 서버가 실행 중인지 확인하려면 웹 브라우저를 열고 VPS IP 주소를 입력한 후 포트 8080에 대한 액세스를 요청하세요.

도커화된 웹 페이지

참고로 다음을 사용할 수 있습니다. 도커-작성 -d 백그라운드에서 컨테이너를 실행합니다.

Docker Compose를 사용하여 로그에 액세스

이제 웹 서버가 준비되어 실행 중입니다. 이미 로그를 생성하고 나중에 사용할 수 있도록 이 정보를 저장하고 있습니다. 문제 해결 및 모니터링을 위해서는 Docker Compose 로그에 액세스하는 것이 필수적입니다. 하지만 이러한 로그를 어떻게 읽을 수 있습니까? 이곳은 도커 작성 로그 유용합니다. 구성이 존재하는 폴더에 있는지 확인하고 해당 명령을 실행하십시오.

Docker Compose를 사용하여 로그에 액세스

때로는 로그가 생성되는 동안 실시간 버전의 로그를 보고 싶을 수도 있습니다. 이전 명령 끝에 -f를 추가하고 실행하면 됩니다. docker-compose 로그 -f.

Docker Compose를 사용하여 로그에 액세스

일부 Docker 기반 애플리케이션은 로그에 타임스탬프를 제공하지 않을 수 있습니다. 따라서 다음을 사용할 수 있습니다. docker-compose 로그 -t 로그의 각 줄에 기록된 시간을 추가합니다.

Docker Compose를 사용하여 로그에 액세스

Docker 로그는 가장 최근 항목을 표시할 수도 있습니다. 이를 달성하려면 다음을 사용하십시오. docker-compose 로그 –tail 10 최근 10개의 로그 항목을 보려면 Docker는 로그 테일을 구성하며, 마찬가지로 docker 로그 테일은 전체 로그 기록을 스크롤하지 않고 최근 활동을 빠르게 확인하려는 경우 특히 유용합니다.

docker compose로 로그에 액세스

Docker Compose를 사용하는 주요 목적은 다중 컨테이너 애플리케이션을 만드는 것입니다. 따라서 원하는 서비스에 대한 특정 로그를 읽어야 할 수도 있습니다. 그렇게 하려면 다음을 사용하십시오. docker-compose 로그 -f 서비스, 교체하는 것을 기억하고 있습니다 서비스 실제 서비스 이름으로.

Docker를 사용하여 로그에 액세스

도커 로깅

Docker 생태계는 특히 대규모 환경에서 통합 애플리케이션의 경우 더욱 복잡해질 수 있습니다. 이미 알고 있듯이 각 컨테이너는 로그를 생성합니다. 따라서 로깅 드라이버라는 메커니즘이 로그 수신, 전달 및 저장을 담당합니다. 기본적으로 Docker는 로깅 드라이버에 JSON 파일을 사용하지만 각각 장단점이 있는 다양한 다른 드라이버도 지원합니다.

문제 해결 및 시스템 성능 향상을 포함한 다양한 영역에서 로그가 중요하다는 데 모두가 동의합니다. 아래에서는 컨테이너 로그 사용의 두 가지 주요 측면을 다룹니다.

  • 모니터링: 로그의 주요 목적은 모니터링입니다. 일반적으로 컨테이너화된 애플리케이션의 전반적인 상태를 드러냅니다.
  • 문제 해결: 문제가 발생할 경우 로그는 애플리케이션 결함을 감지하는 데 도움이 됩니다.

docker 로그와 docker compose 로그는 지속적으로 생성되므로 VPS 저장소를 모두 차지할 수 있습니다. 따라서 로그 회전 정책이라는 디스크 공간 관리 전략이 필요합니다. 이 정책을 생성하고 사용하려면 docker-compose.yml 파일을 열고 엽니다. 그런 다음 아래 구성으로 로깅 섹션을 추가합니다.

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

지속적으로 조정할 수 있습니다. 최대 크기 그리고 최대 파일 귀하의 필요에 따라.

Docker 로그 전달 모델

엔지니어는 Syslog, fluentd 등과 같은 기본 JSON 드라이버보다 고급 환경에서 다른 로깅 모델을 선택할 수 있습니다. 그러나 JSON 파일 드라이버는 대부분의 로깅 시나리오에 적합하며 기본 모드에서 벗어날 필요가 없다는 점을 기억하는 것이 중요합니다.

애플리케이션의 아키텍처 또는 조직 요구 사항에 따라 로그 수집기라는 중앙 로깅 솔루션을 활용해야 할 수도 있습니다. 이러한 서비스에는 다음이 포함됩니다. 엘라스틱서치, Logstash, Kibana 등은 다양한 소스로부터 로그를 수신하여 단일 중앙 위치에 통합, 저장 및 분석하도록 설계되었습니다.

반대로, 보다 비용 효율적인 스토리지 솔루션을 사용하여 로그를 저장해야 합니다. VPS가 고속의 값비싼 스토리지를 사용하는 시나리오를 생각해 보십시오. 나중에 참조할 때만 필요할 수 있는 로그를 저장하기 위해 이러한 프리미엄 리소스를 활용하는 것은 경제적이지 않을 수 있습니다.

다양한 로깅 모델을 사용할 수 있으며 각 모델에는 장점과 단점이 있습니다. 각 모델을 신중하게 평가하고 특정 요구 사항에 따라 모델을 선택하는 것이 중요합니다.

리눅스 VPS 호스팅

가장 저렴한 가격으로 웹 사이트 또는 원격 데스크톱 호스팅을 위한 경제형 또는 프리미엄 Linux VPS를 구입하세요. Linux KVM에서 실행되는 VPS는 효율성을 높이고 속도를 높이기 위해 NVMe SSD 스토리지를 갖춘 강력한 하드웨어에서 작동합니다.

자세히 알아보기

결론

Docker Compose 로그를 이해하는 것이 핵심입니다. Docker 애플리케이션을 잘 관리하고 디버깅하는 데 도움이 됩니다. 이러한 로그에 액세스하고 모니터링하는 방법을 배우면 문제 해결 능력이 향상되고 앱의 성능과 보안이 향상됩니다. 시스템을 개발하든 관리하든 Docker Compose 로그를 사용하는 것은 필수적입니다. 컨테이너 관리가 효과적인지 확인합니다.

FAQ

Docker Compose 로그를 시간별로 필터링하려면 어떻게 해야 하나요?

Docker Compose는 로그를 시간별로 필터링하는 직접적인 방법을 제공하지 않습니다. 그러나 패턴 일치를 위해 grep을 통해 로그를 파이핑하여 필터링할 수 있습니다. 예를 들어 다음을 사용할 수 있습니다. docker-compose 로그 | grep "2023-04-06", "2023-04-06"을 검색하려는 특정 날짜 또는 시간 패턴으로 바꿉니다.

Docker Compose로 시작된 컨테이너를 중지하는 방법은 무엇입니까?

docker-compose.yml 파일이 포함된 디렉터리로 이동하여 docker-compose down 명령을 실행합니다.

로그 파일을 수동으로 제거하는 방법은 무엇입니까?

docker-compose.yml 파일에서 로그 회전을 구성하는 대신 /var/lib/docker/containers/<container_id>/에서 Docker JSON 로그 파일을 수동으로 제거할 수 있습니다. 그렇게 하기 전에 docker ps -a를 사용하여 Docker 컨테이너 ID를 식별해야 합니다.

Docker 로그를 추적할 수 있나요? 

예, 가능합니다. 이렇게 하려면 -f 또는 –follow 옵션과 함께 docker log 명령을 사용해야 합니다. 이렇게 하면 Docker 로그가 추적됩니다.

공유하다

블로그에서 더 보기

계속 읽어보세요.

빛나는 네온 청록색 와이어 프레임 돔으로 보호된 금속 용기로, 짙은 파란색 배경에 기사 제목과 Cloudzy 로고가 표시되어 있습니다.
개발자 도구 및 DevOps

2026년에 피해야 할 주요 Docker 보안 실수

눈에 띄는 문제 없이 몇 달 동안 프로덕션 환경에서 Docker를 실행할 수 있습니다. 컨테이너가 시작되고 앱이 응답하며 아무 문제도 발생하지 않습니다. 그런 다음 하나의 노출된 포트 또는 하나의 잘못 구성된 권한으로 인해

렉사 사이러스렉사 사이러스 15분 읽기
Docker 컨테이너를 나타내는 3D 빛나는 파란색 큐브 구조와 'Portainer 대 요트: 어떤 Docker UI를 선택해야 할까요'라는 텍스트와 Cloudzy 로고가 함께 표시됩니다.
개발자 도구 및 DevOps

Portainer 대 요트: 2026년에는 어떤 Docker UI를 선택해야 할까요?

CLI를 통해 Docker 컨테이너를 관리하는 것은 간단한 설정에는 효과적이지만 확장성이 떨어집니다. 컨테이너 수가 증가함에 따라 상태, 로그 및 업데이트를 수동으로 추적하면 오류가 발생합니다.

렉사 사이러스렉사 사이러스 13분 읽기
지속적인 통합 도구
개발자 도구 및 DevOps

2026년 DevOps 워크플로를 최적화하기 위한 최고의 CI/CD 도구

  소프트웨어 개발 환경은 그 어느 때보다 빠르게 발전하고 있습니다. 그리고 이러한 급속한 성장에 뒤처지고 싶지 않다면 DevOps 방법론과 Agile을 수용해야 합니다.

에이다 러브굿에이다 러브굿 11분 읽기

배포할 준비가 되셨나요? 월 $2.48부터

2008년부터 독립 클라우드. AMD EPYC, NVMe, 40Gbps. 14일 환불.