직접 만든 소프트웨어, 두 가지 개발 기록 구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다. MediaMTX 스트리밍 제어 서버Docker Compose 구성과 파일·라이브·멀티캐스트 송출 RTSP CCTV 관제·분석 프로그램관제 그룹, 영역·출입선, 이벤트 이력을 연결하는 구조 컨테이너5 Docker Compose 달러 기호가 사라질 때: 보간과 컨테이너 셸 구분 Compose의 변수 경고나 빈 문자열이 보이면 먼저 값을 바꾸는 주체가 Compose인지 컨테이너 안의 셸인지 구분하세요. Compose 단계에서 문자 그대로의 달러 기호를 넘기려면 $$를 사용할 수 있지만, 이후 셸이 그 문자를 다시 해석하는지는 별도 문제입니다.원인: YAML을 읽는 단계와 명령 실행 단계를 혼동한다Compose는 설정의 달러 변수 표현을 해석할 수 있습니다. 정의되지 않은 변수에 기본값도 없으면 경고 후 빈 문자열로 바뀔 수 있습니다. 애플리케이션이 실행되기도 전에 값이 달라지는 상황입니다. 컨테이너 환경변수에 같은 이름이 있다는 이유만으로 Compose가 그 값을 알 것이라고 가정하지 마세요.관찰확인 위치다음 판단변수 미정의 경고Compose 입력출처·기본값달러 그대로 전달 필요.. 2026. 10. 21. Docker invalid reference format 해결: 이미지 이름과 셸 인수를 구분해 점검 invalid reference format은 먼저 Docker가 IMAGE 인수로 무엇을 받았는지 확인해야 하는 오류입니다. 저장소 이름 문법이 틀렸을 수도 있지만, 따옴표가 빠진 경로나 빈 변수 때문에 다른 문자열이 이미지로 해석될 수도 있습니다. 이미지 전체를 무조건 소문자로 바꾸거나 다시 빌드하기 전에 인수 경계를 확인하세요.원인: 이미지 참조의 문법 오류와 인수 위치 오류가 같은 메시지로 보일 수 있다docker run은 옵션 다음에 이미지 인수를 받고 그 뒤에 컨테이너 명령과 인수를 받습니다. 옵션 값이 공백에서 잘리면 예상하지 않은 조각이 IMAGE 자리에 놓일 수 있습니다. 이 단계에서 실패했다면 애플리케이션 로그나 컨테이너 네트워크부터 수정하는 것은 원인과 맞지 않을 수 있습니다.관찰먼저.. 2026. 10. 18. Docker DNS 오류 해결: Temporary failure in name resolution·서비스 이름·VPN 점검 Docker 컨테이너에서 “Temporary failure in name resolution”, “Could not resolve host”, “getaddrinfo EAI_AGAIN”이 보이나요? DNS 오류라고 해서 공용 DNS 주소를 바로 덮어쓰는 것은 해결 순서가 아닙니다. Compose 서비스 이름이 안 풀리는지, 외부 도메인이 안 풀리는지, 이름은 풀렸지만 포트 연결이 실패하는지를 나누어 확인하면 문제 범위를 좁힐 수 있습니다.1. 오류가 발생한 이름과 실행 위치를 먼저 기록하기호스트 터미널에서 성공한 이름 조회가 컨테이너 안에서도 성공한다는 보장은 없습니다. 컨테이너의 네트워크·리졸버 경로를 따로 확인해야 합니다. 같은 URL이라도 앱 컨테이너, 빌드 단계, CI 작업 중 어느 위치에서 실패.. 2026. 10. 7. AWS EFS와 EBS 비교: 공유 파일·컨테이너 저장소 비용과 선택 기준 AWS에서 컨테이너를 여러 서버에 배치한 뒤 업로드 파일이 어느 서버에서는 보이고 다른 서버에서는 보이지 않는다면 저장소의 공유 방식부터 확인해야 합니다. 한 서버가 사용하는 디스크가 필요하면 EBS를, 여러 실행 환경이 같은 파일 경로를 읽고 써야 하면 EFS를 후보로 검토할 수 있습니다. 두 서비스는 용량 단가만으로 비교하기보다 애플리케이션이 블록 장치와 네트워크 파일 시스템 중 무엇을 요구하는지 먼저 구분해야 합니다.1. EBS는 블록 저장소, EFS는 공유 파일 저장소입니다Amazon EBS 공식 문서에서 EBS는 EC2에 연결하는 블록 장치로 설명합니다. 볼륨과 인스턴스는 같은 가용 영역(AZ)에 있어야 하며, 운영체제에서 파일 시스템을 구성해 디스크처럼 사용합니다. 한 인스턴스의 데이터 디렉터.. 2026. 10. 4. Docker 컨테이너는 실행 중인데 서비스가 안 된다면? 헬스체크와 시작 순서 Docker 목록에서 컨테이너가 Up으로 표시되는데 웹페이지는 오류를 낼 때가 있습니다. 프로그램이 실행 중이라는 사실과 요청을 처리할 준비가 끝났다는 사실은 다릅니다. 데이터베이스가 초기화되는 동안 웹 프로그램이 먼저 접속을 시도하는 경우가 대표적인 예입니다.앞선 Docker 저장 공간과 데이터 유지 글이 재생성 후 데이터를 다뤘다면, 이번에는 서비스가 시작되는 순서와 준비 상태를 살펴봅니다. Docker Compose의 depends_on과 healthcheck가 각각 무엇을 해결하는지 구분해 보겠습니다.1. 실행 중·정상 판정·사용 가능은 다릅니다확인 수준알 수 있는 것추가로 확인할 것컨테이너 실행 중주 프로세스가 살아 있음초기화 완료와 요청 처리헬스체크 통과설정한 검사에 성공함검사가 필요한 기능을.. 2026. 9. 7. 이전 1 다음