Docker 6

🐳 도커(Docker) 프록시 네트워크 설정

포트 직접 접근에서 프록시 네트워크 방식으로 전환한 이유기존에는 아래처럼 포트를 직접 열어서 접근했다.http://도메인:8080http://도메인:9000 이 방식은 간단하지만, 운영 환경에서는 여러 문제가 있다.포트 직접 노출 방식의 한계서비스가 늘어날수록 포트 관리 지옥방화벽, 보안 장비 설정 복잡서비스 구조가 외부에 그대로 노출HTTPS 적용 시 서비스마다 설정 필요“서비스가 많아질수록 관리 포인트가 기하급수적으로 늘어난다.”프록시 네트워크 방식이란?외부에서는 단 하나의 진입점(WEB) 만 바라보고 실제 서비스들은 Docker 내부 네트워크에서만 통신하게 만드는 구조다.외부 사용자 ↓ HTTPS[Nginx Reverse Proxy] ↓ Docker Network[서비스 / 배치 / 관리자]..

Dev/CS 2026.01.21

🐳 도커(Docker) 기본 개념과 용어 정리

도커 프로젝트를 진행하면서 관련된 단어 정리를 해보려 한다.이미지? 컨테이너? 볼륨? 다양한 용어들이 한꺼번에 쏟아져서 어렵게 느껴졌지만 막상 두들겨보니 일상에서 익숙한 예시를 찾게되어 알기 쉽게 정리해 보았다.도커란?도커는 ‘애플리케이션을 실행하는 데 필요한 것을 한 번에 담아 어디서든 똑같이 실행할 수 있게 해주는 기술’도커 이미지(Image) = 🍱 밀키트도커 이미지는 애플리케이션 실행에 필요한 모든 것을 담아놓은 설계도 + 재료 세트 밀키트레시피손질된 재료양념조리 순서도커 이미지OS 기반 환경라이브러리실행 파일설정 값밀키트는 아직 요리된 상태가 아니고,도커 이미지도 아직 실행된 상태가 아니다.컨테이너(Container) = 🍳 실제로 조리된 요리컨테이너(Container)는 도커 이미지를 실제..

Dev/CS 2026.01.20

Docker 기반 웹 푸시 알림 시스템 - 2

컨테이너 GUI 관리 도구 Portainer 도입이전 글에서는 Docker 기반으로 웹 푸시 알림 서비스를 설계한 전체 구성과 아키텍처 개요를 정리했다.이번 글에서는 실제 프로젝트를 시작하며 Docker 컨테이너를 효율적으로 관리하기 위해 Portainer를 도입한 이유와 설치 과정을 정리한다.1. Portainer 도입 이유이번 프로젝트는 다음과 같은 특징을 가진다.단일 서버 환경Docker 기반 서비스 운영서비스별 컨테이너 분리향후 컨테이너 수 증가 가능성 고려이런 환경에서 명령어로만 관리하는 데에는 한계가 있다.특히 운영 관점에서는 다음과 같은 불편함이 발생할 수 있다.실행 중인 컨테이너 상태를 한눈에 보기 어렵고 CLI로 로그를 하나하나 확인해야함컨테이너 재시작·중지 작업의 번거로움이러한 문제를 ..

SideProject 2026.01.19

Docker 관리 도구(Portainer) 도입 시 겪은 시행착오 정리

운영 중인 서버에서 Docker 기반 서비스가 늘어나면서 컨테이너 상태와 리소스를 직관적으로 확인할 수 있는 관리 도구의 필요성을 느끼게 되었다. 이에 Docker 관리 UI 도구인 Portainer 도입을 검토했고 그 과정에서 겪은 시행착오와 최종 판단을 정리해본다.1 .기존 운영 환경현재 서버는 다음과 같은 Docker 컨테이너가 운영 중인 상태였다.nginx: 외부 요청 및 SSL 처리Spring Boot 웹 서비스RedisDaily Scheduler모든 서비스는 Docker Compose로 관리되고 있으며, 운영 서버 특성상 기존 서비스에 영향을 주지 않는 것이 최우선 원칙이었다.2. Portainer 도입 목적실행중인 컨테이너 상태 확인리소스 사용량 모니터링로그 확인 및 컨테이너 관리 편의성 향..

Dev/Docker 2026.01.16

Docker 컨테이너 로그 기본 정보와 관리하는 방법

1. 작업 배경운영 중인 서버에 서비스들을 Docker 컨테이너로 신규 구성하면서 로그가 파일로 남지 않고 docker logs 명령어에서만 확인되는 현상을 발견했다.docker logs -f - 애플리케이션은 정상 동작- 콘솔 로그는 확인 가능하지만 서버 디렉토리에는 로그 파일 생성x 처음에는 애플리케이션 로그 설정 문제로 판단했으나, 확인 결과 이는 Docker 기본 로그 동작 방식 때문이었음.2. Docker 컨테이너 로그의 기본 동작 방식도커에서 별도의 설정을 하지 않으면 로그는 아래와 같이 처리된다.기본 로그 드라이버json-file (Docker 기본값)로그 수집 대상표준 출력 (STDOUT)표준 에러 (STDERR)즉, Spring Boot 애플리케이션의 콘솔 로그는 파일이 아니라 Dock..

Dev/Docker 2026.01.15

Docker 기반 웹 푸시 알림 시스템 - 1

Docker (Spring Boot + PWA) 기반 웹 푸시 알림 시스템 설계 및 구현 개요1. 프로젝트 개요홈페이지나 기타 시스템들을 운영하다 보면 '공지사항을 올려도 사용자들이 잘 보지 않는다'는 문제가 반복적으로 발생한다.이 프로젝트는 이러한 문제를 해결하기 위해모바일 앱 없이도, 웹(PWA)만으로 실시간 알림을 제공하는 웹 푸시 시스템을 Docker 기반 구축하는 것을 목표로 한다. 아래와 같은 조건을 전제로 설계함.Docker 기반 서비스 분리Spring Boot 내장 WAS 사용1만명 이상 푸시 발송 가능운영 및 유지보수 고려2. 프로젝트 목적Docker 기반 서비스 구성Spring Boot 내장 Tomcat 사용푸시 알림 + 큐 처리관리자 페이지에서 공지 작성 → 즉시 발송최소한의 인프라로..

SideProject 2026.01.14