쉘 스크립트 대신 Dockerode를 고른 이유: 멀티 테넌트 프로비저닝의 롤백과 동시성
docker run을 감싼 쉘로는 실패 원인도 롤백도 다룰 수 없어 Dockerode와 스키마 분리로 테넌트 생성을 자동화한 과정
docker run을 감싼 쉘로는 실패 원인도 롤백도 다룰 수 없어 Dockerode와 스키마 분리로 테넌트 생성을 자동화한 과정
NPM과 webserver가 서로 다른 Docker 네트워크에 있어 프록시가 끊긴 원인을 찾고, 네트워크 연결로 컨테이너 간 직접 통신을 복구한 기록
Mac에서 컨테이너 IP가 보이는데도 접속되지 않는 건 Docker 네트워크가 Linux VM 안에만 있어서다.
PoC에서 SSH 접속을 시험하려는데 Ubuntu 이미지에 sshd가 없어서, openssh-server를 깔고 로컬 2222번 포트로 붙였다.
Ubuntu 컨테이너의 Nginx에 ModSecurity를 붙이고, test가 든 요청만 403으로 막히는 것을 access log와 audit log로 확인했다.
Docker로 ModSecurity WAF를 띄우고 SQL Injection 요청이 403으로 막히는 과정을 로그의 Anomaly Score로 따라가 본 실습 기록
Docker ELK에 Metricbeat 컨테이너를 붙였지만 Mac 호스트 메트릭은 수집되지 않아, Mac에 직접 설치해 Kibana에서 CPU 사용량을 확인했다.
Nginx 컨테이너로 로그 전달 경로를 먼저 확인하고, 같은 볼륨 공유 방식으로 Nginx Proxy Manager에 ELK를 합쳐 ModSecurity 로그를 Kibana에 쌓았다.
아키텍처 차이로 생긴 exec format error를 Docker Buildx의 –platform으로 풀고, GitHub Actions에서 buildx로 빌드해 ECR에 푸시하도록 옮긴 기록
ArgoCD로 배포하던 Minikube 앱의 이미지를 ECR로 옮기자 no basic auth credentials가 났고, docker-registry Secret을 만들어 해결했다.