본문 바로가기

전체 글108

Docker 로그 확인과 용량 관리: compose logs부터 로그 로테이션까지 서비스에 오류가 생겼을 때 로그를 열면 너무 많은 내용이 쏟아지고, 정작 필요한 시간의 기록은 찾기 어려울 수 있습니다. 반대로 로그가 계속 쌓여 서버 디스크를 차지하는 문제도 있습니다. 로그를 읽는 방법과 얼마나 보관할지는 함께 정해야 합니다.이번 글에서는 Docker Compose에서 서비스와 시간 범위를 좁혀 로그를 확인하는 방법, 로그 드라이버의 역할, json-file 로테이션 예시를 살펴봅니다. 헬스체크와 시작 순서 글에서 확인한 오류를 더 자세히 추적할 때 이어서 사용할 수 있는 내용입니다.1. Docker logs는 어떤 로그를 보여줄까?일반적으로 Docker가 수집하는 로그는 컨테이너 프로세스의 표준 출력(stdout)과 표준 오류(stderr)에서 나옵니다. json-file 드라이버는.. 2026. 9. 8.
Docker Compose .env와 env_file 차이: 환경변수가 적용되지 않을 때 확인할 것 .env 파일에 값을 적었는데 컨테이너 안에서는 보이지 않거나, 파일을 수정했는데 프로그램이 계속 이전 설정을 사용하는 경우가 있습니다. 파일 이름보다 중요한 것은 그 값이 “Compose 설정을 만드는 데 쓰이는지”, “컨테이너의 환경변수로 전달되는지”입니다.앞서 헬스체크와 시작 순서 글에서 변수로 DB 설정을 표현했습니다. 이번에는 민감한 정보 없이 APP_MODE, LOG_LEVEL 같은 가상 설정으로 값이 전달되는 경로를 살펴봅니다.1. .env에 적으면 자동으로 컨테이너에 들어갈까?기본 .env 파일은 Compose 파일의 변수 치환에 사용할 값을 제공하는 역할을 합니다. 예를 들어 image: "myapp:${TAG}"의 TAG 부분을 채우는 데 쓸 수 있습니다. .env에 있는 모든 항목이 .. 2026. 9. 8.
Docker 컨테이너끼리 연결이 안 될 때: localhost·서비스 이름·포트 이해하기 PC 브라우저에서는 웹페이지가 열리는데, 다른 Docker 컨테이너에서 같은 주소를 호출하면 연결이 거부될 때가 있습니다. 이때 먼저 확인할 것은 “요청을 보내는 프로그램이 어디에서 실행되는가”입니다. 호스트의 브라우저와 컨테이너 안의 프로그램은 localhost를 서로 다른 대상으로 해석합니다.이번 글은 Docker 헬스체크와 시작 순서의 후속편입니다. 단일 Docker 호스트에서 Compose의 기본 bridge 네트워크를 사용하는 상황을 기준으로, 주소와 포트의 역할을 정리합니다. host 네트워크나 여러 서버에 걸친 네트워크는 설명 범위에서 제외합니다.1. localhost는 요청을 보내는 곳을 기준으로 봅니다호스트 PC에서 127.0.0.1에 접속하면 그 PC의 로컬 환경을 향합니다. 반면 일반.. 2026. 9. 8.
Docker 컨테이너는 실행 중인데 서비스가 안 된다면? 헬스체크와 시작 순서 Docker 목록에서 컨테이너가 Up으로 표시되는데 웹페이지는 오류를 낼 때가 있습니다. 프로그램이 실행 중이라는 사실과 요청을 처리할 준비가 끝났다는 사실은 다릅니다. 데이터베이스가 초기화되는 동안 웹 프로그램이 먼저 접속을 시도하는 경우가 대표적인 예입니다.앞선 Docker 저장 공간과 데이터 유지 글이 재생성 후 데이터를 다뤘다면, 이번에는 서비스가 시작되는 순서와 준비 상태를 살펴봅니다. Docker Compose의 depends_on과 healthcheck가 각각 무엇을 해결하는지 구분해 보겠습니다.1. 실행 중·정상 판정·사용 가능은 다릅니다확인 수준알 수 있는 것추가로 확인할 것컨테이너 실행 중주 프로세스가 살아 있음초기화 완료와 요청 처리헬스체크 통과설정한 검사에 성공함검사가 필요한 기능을.. 2026. 9. 7.
CCTV 관제 화면에 로그인하면 영상도 보호될까? 접근 권한의 구조 관제 페이지에 로그인 화면이 있으면 CCTV 영상도 자동으로 보호될까요? 확인해야 할 것은 페이지 진입뿐 아니라 실제 영상 요청이 어디에서 허용되는가입니다. 웹 화면과 미디어 서버가 별도로 동작한다면 각각의 접근 경로를 살펴봐야 합니다.이 글은 CCTV 웹 연결 구조의 후속편입니다. 로그인한 사용자가 어떤 카메라를 실시간으로 보고, 어떤 녹화를 다시 볼 수 있는지 설계하는 방법을 가상 매장 사례로 설명합니다.1. 로그인과 권한 확인이 답하는 질문인증은 “누구인가”를 확인하고, 인가는 “이 요청을 허용할 것인가”를 판단합니다. 로그인에 성공한 직원이라도 모든 카메라와 모든 관리 기능을 사용할 이유는 없습니다. 이 구분은 OWASP 접근 권한 안내에서도 설명하는 기본 원칙입니다.예를 들어 A매장 직원과 B매.. 2026. 9. 7.
CCTV 실시간 보기와 녹화는 어떻게 다를까? 저장부터 다시보기까지 CCTV 화면이 지금 잘 나온다고 해서 어제 같은 시간의 영상도 볼 수 있는 것은 아닙니다. 실시간 보기는 현재 들어오는 영상을 전달하는 기능이고, 녹화는 그 영상을 저장하는 기능입니다. 다시보기에는 저장된 영상에서 원하는 시간을 찾아 재생하는 과정이 더 필요합니다.앞서 살펴본 CCTV 웹브라우저 연결 구조에 저장소와 다시보기 경로를 더해 보겠습니다. 이 글에서는 세 기능의 차이, 비트레이트로 저장 용량을 계산하는 방법, 녹화가 실제로 남는지 확인할 항목을 설명합니다.1. 실시간 보기·녹화·다시보기의 역할기능처리하는 대상성공 여부를 확인하는 방법실시간 보기현재 들어오는 영상화면이 계속 갱신되는지 확인녹화시간에 따라 쌓이는 파일파일 생성과 크기 증가 확인다시보기선택한 시간의 저장 영상시간 검색과 실제 재생.. 2026. 9. 7.