쉘 스크립트 대신 Dockerode를 고른 이유: 멀티 테넌트 프로비저닝의 롤백과 동시성

docker run을 감싼 쉘로는 실패 원인도 롤백도 다룰 수 없어 Dockerode와 스키마 분리로 테넌트 생성을 자동화한 과정

2025년 7월 14일 · 6 분

프록시가 webserver를 찾지 못한 이유: Docker 네트워크 격리와 컨테이너명 DNS

NPM과 webserver가 서로 다른 Docker 네트워크에 있어 프록시가 끊긴 원인을 찾고, 네트워크 연결로 컨테이너 간 직접 통신을 복구한 기록

2025년 6월 26일 · 4 분

Mac에서 컨테이너 IP로 접속이 안 되는 이유

Mac에서 컨테이너 IP가 보이는데도 접속되지 않는 건 Docker 네트워크가 Linux VM 안에만 있어서다.

2024년 9월 21일 · 2 분

Ubuntu 컨테이너에는 sshd가 없다

PoC에서 SSH 접속을 시험하려는데 Ubuntu 이미지에 sshd가 없어서, openssh-server를 깔고 로컬 2222번 포트로 붙였다.

2024년 9월 2일 · 2 분

ModSecurity가 ?data=test를 403으로 막기까지

Ubuntu 컨테이너의 Nginx에 ModSecurity를 붙이고, test가 든 요청만 403으로 막히는 것을 access log와 audit log로 확인했다.

2024년 8월 12일 · 4 분

ModSecurity는 SQL Injection을 점수로 막는다

Docker로 ModSecurity WAF를 띄우고 SQL Injection 요청이 403으로 막히는 과정을 로그의 Anomaly Score로 따라가 본 실습 기록

2024년 7월 30일 · 3 분

Mac에서는 Metricbeat를 컨테이너 밖에 깔아야 했다

Docker ELK에 Metricbeat 컨테이너를 붙였지만 Mac 호스트 메트릭은 수집되지 않아, Mac에 직접 설치해 Kibana에서 CPU 사용량을 확인했다.

2024년 7월 10일 · 3 분

Nginx 한 대로 시험한 ELK를 Nginx Proxy Manager에 합치기

Nginx 컨테이너로 로그 전달 경로를 먼저 확인하고, 같은 볼륨 공유 방식으로 Nginx Proxy Manager에 ELK를 합쳐 ModSecurity 로그를 Kibana에 쌓았다.

2024년 7월 7일 · 8 분

exec format error 이후로 이미지는 GitHub Actions에서 빌드한다

아키텍처 차이로 생긴 exec format error를 Docker Buildx의 –platform으로 풀고, GitHub Actions에서 buildx로 빌드해 ECR에 푸시하도록 옮긴 기록

2024년 6월 13일 · 3 분

docker login을 해도 Minikube는 ECR 이미지를 받지 못했다

ArgoCD로 배포하던 Minikube 앱의 이미지를 ECR로 옮기자 no basic auth credentials가 났고, docker-registry Secret을 만들어 해결했다.

2024년 3월 28일 · 2 분