직접 만든 소프트웨어, 두 가지 개발 기록 구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다. MediaMTX 스트리밍 제어 서버Docker Compose 구성과 파일·라이브·멀티캐스트 송출 RTSP CCTV 관제·분석 프로그램관제 그룹, 영역·출입선, 이벤트 이력을 연결하는 구조 docker25 Compose exec가 CI에서 TTY 오류일 때: -T와 표준입력 구분 CI에서 Compose exec가 the input device is not a TTY로 멈추면 대화형 터미널 할당이 필요한지 먼저 확인하세요. Compose exec는 기본적으로 TTY를 할당하므로 비대화형 실행은 -T를 검토하고 표준입력 사용 여부는 따로 결정해야 합니다.적용 환경: Docker Compose V2의 exec와 실행 중인 서비스; Compose 프로젝트와 Docker 데몬 접근 권한 필요, Windows Git Bash·구형 docker-compose V1은 별도 진단. 자료 확인일: 2026-10-29. 공식 문서 기반 안내이며 실제 계정·운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 로컬 터미널과 CI 입력 환경이 다르다Docker 공식 문서는 Compose exec가 기.. 2026. 10. 30. Compose 재생성 후 접속 포트가 바뀔 때: 동적 호스트 포트 확인 Compose에서 호스트 포트를 고정하지 않았다면 컨테이너를 재생성한 뒤 접속 포트가 달라질 수 있습니다. 이전 즐겨찾기 주소를 계속 쓰기 전에 docker compose port로 현재 서비스의 실제 매핑을 확인하세요.적용 환경: Docker Compose V2의 일반 bridge 네트워크와 동적 포트 매핑; host 네트워크·Swarm 제외. 자료 확인일: 2026-10-27. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 내부 포트와 외부 포트는 다름컨테이너 내부에서 듣는 포트와 호스트에서 접속하는 포트는 서로 다를 수 있습니다. Compose의 ports에 컨테이너 포트만 지정한 구성은 호스트 포트를 자동 할당할 수 있습니다.서비스가 실행 중이라는 표시만으로 이전 주소가 유효하다.. 2026. 10. 28. 원격 로그는 남는데 docker logs는 짧을 때: dual logging 캐시 확인 원격 저장소에 로그가 남아 있는데 docker logs에서 오래된 기록이 보이지 않으면 dual logging의 로컬 캐시 범위를 확인하세요. 원격 보존 기간과 로컬 조회 캐시는 서로 다른 저장 경로입니다.적용 환경: Docker Engine 컨테이너; 애플리케이션 출력과 실제 컨테이너 로깅 설정을 확인할 권한 필요. 자료 확인일: 2026-10-26. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 원격 저장과 로컬 조회는 다름Docker Engine은 로그 읽기를 지원하지 않는 드라이버를 사용할 때 dual logging을 자동으로 활성화합니다. local 드라이버를 캐시로 사용해 최근 로그를 읽게 하지만 이 캐시가 원격 저장소 전체를 조회하는 창은 아닙니다.기본 캐시는 컨테이너당 압.. 2026. 10. 27. 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 COPY checksum not found 해결: 빌드 컨텍스트·dockerignore·스테이지 확인 COPY 단계의 failed to calculate checksum 또는 not found 오류는 먼저 빌더가 해당 소스 파일을 볼 수 있는지 확인해야 합니다. docker build의 마지막 경로인 컨텍스트, 그 안의 .dockerignore, COPY --from의 스테이지를 순서대로 대조하세요. Dockerfile이 있는 폴더와 COPY의 기준 폴더가 항상 같은 것은 아닙니다.원인 구분: 파일이 없음·범위 밖·제외됨·다른 스테이지이 글은 로컬 파일을 쓰는 Linux 컨테이너 빌드와 Compose V2를 기준으로 합니다. 예를 들어 저장소에 dist가 있어도 빌드 컨텍스트가 다른 폴더거나 ignore 패턴으로 제외되면 COPY 소스로 전달되지 않습니다. 로그에 checksum이라는 단어가 있다고 곧바.. 2026. 10. 17. 이전 1 2 3 4 5 다음